Curl使用问题
在进行网页抓取和模拟登陆的开发,curl必须是首选的工具,由于它强大的功能,也提供了多个平台的支持。最近使用curl进行模拟登陆https网站,遇到了一些问题,问题的真相真是不好找,因为本身对网络方面的东西也不太熟悉,后来经过调试,还是找到原因了。
curl下载:http://curl.haxx.se/download.html
官网提供了多个平台的软件和动态库的下载,这里我使用Qt开发,所以使用了Windows平台下的mingw编译版本:http://curl.haxx.se/gknw.net/7.28.1/dist-w32/curl-7.28.1-devel-mingw32.zip
另外帮助文档的问题,可以下载curl源码,里面就有提供完整的文档,很详细,如果要使用curl开发,使用里面的文档已经非常清楚。
我遇到以下几个问题:
1.curl登陆https网站失败(最终确认是url编码与socket长连接的问题。)
2.获取的网页源码与浏览器访问的源码有点区别
1.登陆https网站,在不使用证书的情况下,要设置:
int CCurl::CurlDebug(CURL *pcurl, curl_infotype itype, char * pData, size_t size, void *){ if(itype == CURLINFO_TEXT) { qDebug() << "[TEXT]:" << pData; } else if(itype == CURLINFO_HEADER_IN) { qDebug() << "[HEADER_IN]:" << pData; } else if(itype == CURLINFO_HEADER_OUT) { qDebug() << "[HEADER_OUT]:" << pData; } else if(itype == CURLINFO_DATA_IN) { qDebug() << "[DATA_IN]:" << pData; } else if(itype == CURLINFO_DATA_OUT) { qDebug() << "[DATA_OUT]:" << pData; } return 0;}