有项目需要爬取某个网页的数据,而网页需要账号密码登录,并且数据并不是静态地显示在网页上的,所以需要自己通过数据接口获取数据信息。
需要自己利用浏览器的开发者工具(F12),查看各类的POST、GET请求,然后使用postman进行模拟请求,最后再在代码中实现。
因为需要Openssl支持,使用SSL进行认证,所以需要对应的库文件-ssleay32.dll、libeay32.dll,可以参考:http://slproweb.com/products/Win32OpenSSL.html,我下载的版本为-Win32 OpenSSL v1.0.2g Light,将bin目录下面的库拷贝出来放到exe同级目录下即可。为了更好的兼容,最好是编译源码!
manager = new QNetworkAccessManager(this);\\新建网络管理类
connect(manager,&QNetworkAccessManager::finished,this,&xx::replyFinished);\\连接finished信号至自己的槽,xx为自己的类
void login(QString destUrl)
{
QString headers = QString("username=%