首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Curl使用有关问题

2013-01-25 
Curl使用问题在进行网页抓取和模拟登陆的开发,curl必须是首选的工具,由于它强大的功能,也提供了多个平台的

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使用有关问题

解压出来,可以看到include、lib、bin等目录,编译的时候,使用bin目录下的dll动态库,包含include头文件,即可完成编译和使用。该版本支持ssl,可以访问https的网站。
另外帮助文档的问题,可以下载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;}


热点排行