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

libcurl的https,该如何解决

2012-06-08 
libcurl的httpsCURL *curlCURLcode rescurl_global_init(CURL_GLOBAL_ALL)curl curl_easy_init()str

libcurl的https
CURL *curl;

  CURLcode res;

  curl_global_init(CURL_GLOBAL_ALL); 

  curl = curl_easy_init();

  string m_curPage,m_header;

  if(curl){

  curl_easy_setopt(curl, CURLOPT_URL, "https://login.vancl.com/Login/Login.aspx");

  curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L);

  curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 1L);

  curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);//调试信息打开

  curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteFunc);

  curl_easy_setopt(curl, CURLOPT_WRITEDATA, &m_curPage);

  curl_easy_setopt(curl,CURLOPT_HEADERDATA, &m_header); 

  try

  {res = curl_easy_perform(curl);}

  catch(...)

  {

  cout<<GetLastError();

  }

  cout<<GetLastError();

 

 

 

  if(0 != res){

  fprintf(stderr,"curl error: %d \n", res);

  }

  curl_easy_cleanup(curl);

  }

 

红色的url,不同返回的结果不同

Peer certificate cannot be authenticated with given CA certificates



返回超时CURLE_SSL_CONNECT_ERROR

 

我对https这种不熟悉。

问题1:是不是。每一个访问一个https的网站,都要对方的证书?

问题2:能伪造证书?我只要能获取对方的html代码即可

问题3: 能给个如何使用证书,并提交此证书,发送到https服务器端,并得到HTML代码。

谢谢高手帮助 ,我没有分了。对不起。



[解决办法]
是的。
[解决办法]
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);

curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
[解决办法]
可能是你的curl版本有点问题,可以到 http://curl.haxx.se/ 下载最新7.26

热点排行