libcurl如何支持https

   默认情况下,libcurl不支持HTTPS。在执行curl_easy_perform()的时候,返回错误代码:CURLE_UNSUPPORTED_PROTOCOL(1),同时通过打印日志会得到错误提示:Protocol https not supported or disabled in libcurl"。网上有人说添加下面两行代码就可以解决:

curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,false);//设定为不验证证书和HOST
curl_easy_setopt(curl,CURLOPT_SSL_VERIFYHOST,false);

    实测发现,结果还是不行!如果还是无法访问HTTPS的网页的话,此时问题可能出在libcurl本身,很可能是在libcurl在编译的时候没有选择支持SSL。所以还是再编译一次吧!这里要说明的是,通过用CMake工具生成的sln文件来直接编译lib库,也很可能没有做SSL支持。所以还是用命令行工具来编译,先制作一个build.bat文件,待会要用到,内容如下:

@REM @echo off
@IF [%1]==[debug] (
@echo 正在使用debug模式编译libcurl~~~
@nmake /f Makefile.vc WITH_DEVEL=../../deps mode=static VC=12 ENABLE_IDN=no RTLIBCFG=dll DEBUG=yes MACHINE=x86
) ELSE (
@echo 正在使用release模式编译libcurl~~~
@nmake /f Makefile.vc WITH_DEVEL=../../deps mode=static VC=12 ENABLE_IDN=no RTLIBCFG=dll DEBUG=no MACHINE=x86
)
@REM @echo on

   我下载的是7.48.0版本,接着在开始菜单中打开Visual Studio 2013 > Visual Studio Tools > VS2013开发人员命令提示,cd进入到下载的curl-7.48.0下的winbuild目录下:键入build.bat,好吧,等待编译完成!如果是debug版本,则再输入空格 debug,回车编译。



你可能感兴趣的:(libcurl)