paip.c++ qt 网页爬虫 的 网络编程 总结

paip.c++ qt 网页爬虫 的 网络编程 总结 


作者Attilax ,  EMAIL:1466519819@qq.com 
来源:attilax的专栏
地址:http://blog.csdn.net/attilax




1.项目添加网络模块。
--------------
工程名为“http”,然后选中QtNetwork模块,最后Base class选择QWidget 。注意:如果新建工程时没有添加Qt Network模块,那么就要手动在工程文件.pro中添加代码


QT += network  
表明我们使用了网络模块。


2.添加net类:必须幺继承QObject.贝儿.不能关联事件..好像也能直接写的个头文件黑头了..
-----------
---atiNet.h--------
#ifndef ATINET_H
#define ATINET_H


#include <QObject>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QtCore>
#include <iostream>
using namespace std ;


class atiNet : public QObject
{
    Q_OBJECT
public:
    explicit atiNet();
     static QString  getHtml(QString url);


signals:


public slots:


};


#endif // ATINET_H




---atinet.cpp-------
#include "atinet.h"


atiNet::atiNet()
{
}


 QString  atiNet::getHtml(QString url)
   {
       QNetworkAccessManager *manager = new QNetworkAccessManager();
       QNetworkReply *reply = manager->get(QNetworkRequest(QUrl(url)));
       QByteArray responseData;
       QEventLoop eventLoop;
       connect(manager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
       eventLoop.exec();       //block until finish
       responseData = reply->readAll();
       return QString(responseData);
   }




   
 3.调用:
 ------------
 int main(int argc, char *argv[])
{
  QCoreApplication a(argc, argv);


 //
    QString url="http://www.oschina.net/code/snippet_28714_18932";
    QString html= atiNet::getHtml(url);
    qDebug() <<html;
 //   printf(html);
     return a.exec();
}
 
 
 
 
参考:
Qt网络之HTTP编程(1) - 51CTO.COM.htm
QTE下通过Http协议以同步方式与Web服务器通信的实现 - CityFantom的专栏 - 博客频道 - CSDN.NET.htm
qt同步方式进行http请求   coolEx.htm
Qtopia2 编译过程错误总结与解决方法 - yimiyangguang1314的专栏 - 博客频道 - CSDN.NET.htm
Qt网络编程之QNetworkAccessManager - chenlong12580的专栏 - 博客频道 - CSDN.NET.htm
QT获取网页内容 - 开源中国社区.htm




 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值