libcurl支持http 但是换成https就不支持 unsupported protocol

a2175919 2015-05-29 03:29:30

//代码部分
int Gets(const std::string & strUrl, std::string & strResponse)
{
CURLcode res;
CURL* curl = curl_easy_init();
if(NULL == curl)
{
return CURLE_FAILED_INIT;
}

curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); //不验证证书和HOST
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);

curl_easy_setopt(curl, CURLOPT_URL, strUrl.c_str());
struct curl_slist *list = NULL;
list = curl_slist_append(list, "Content-type:application/x-www-form-urlencoded");

curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, OnWriteData);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&strResponse);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
curl_version_info_data *pda = curl_version_info(CURLVERSION_NOW);
pda = pda;

res = curl_easy_perform(curl); //问题

if(res != CURLE_OK){
//curl_error();
AfxMessageBox(curl_easy_strerror(res));
return NULL;
}
curl_easy_cleanup(curl);
AfxMessageBox(strResponse.c_str());
return res;
}


//调用
std::string strResponse;
m_client.Gets("http://www.baidu.com", strResponse);//成功

m_client.Gets("https://www.baidu.com", strResponse); //失败


上面http的是可以通过的。。但是用https的curl_easy_perform(curl)返回了 一个unsupported protocol 我在工程里面已经包含了libcurl_imp.lib和libcurl.lib库文件 这个是为什么啊
下面是pda数据

...全文
6458 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellokandy 2016-04-28
  • 打赏
  • 举报
回复 1
引用 7 楼 a2175919 的回复:
我发现http是可以通过的。。https还是失败。。只能换一种方式了。。不使用curl。。
libcurl默认是不支持SSL的,但是可以在编译选项里面设置!http://blog.csdn.net/hellokandy/article/details/51264225
hellokandy 2016-04-28
  • 打赏
  • 举报
回复
libcurl编译时没有添加对SSL的支持,看看这个:http://blog.csdn.net/hellokandy/article/details/51264225
wf_it_life 2016-04-26
  • 打赏
  • 举报
回复
那是因为libcurl的底层加密传输是通过openssl实现的
a2175919 2015-08-28
  • 打赏
  • 举报
回复
我发现http是可以通过的。。https还是失败。。只能换一种方式了。。不使用curl。。
yayexing 2015-08-28
  • 打赏
  • 举报
回复
我也是,https一直失败
memor_y_222 2015-07-26
  • 打赏
  • 举报
回复
楼主解决没啊,我也遇到curl不支持https的问题,求助啊。。如果可以加下我 529993892交流下,困扰很近了。谢谢
fly_dragon_fly 2015-05-29
  • 打赏
  • 举报
回复
libcurl重新编一下,增加openssl应该就可以了
ForestDB 2015-05-29
  • 打赏
  • 举报
回复
编译libcurl的时候可有enable ssl的支持?
a2175919 2015-05-29
  • 打赏
  • 举报
回复
引用 1 楼 pengzhixi 的回复:
http://blog.csdn.net/coodi8/article/details/7945190看看这个
上面已经不验证证书和HOST, 但是没有
pengzhixi 2015-05-29
  • 打赏
  • 举报
回复

65,182

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧