使用libcurl 支持https

刚好工作上需要编写客户端的程序,原本封装好的http程序代码突然异常了,百思不得其解。

然后再http client的代码中打印可能出现的异常,终于在下面的代码中捕获出来

res = curl_easy_perform( g_curl );
if (res == 0)
{
       curl_easy_getinfo( g_curl, CURLINFO_RESPONSE_CODE, http_code);
}
else
{
      curl_easy_strerror(res);
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
      curl_easy_strerror(res));
}
return (0 == res) ? 0 : -1;

运行的时候,会打印 unsupported protocol 这样的信息,通过google 查到这个是因为我们在编译

libcurl库时没有添加对ssl的支持导致的,然后下载最新的openssl 库编译,然后在

Makefile中加上头文件路径和静态库路径:

头文件:
-I../../../third/ssl/include/ssl

库文件:
../../../third/ssl/lib/libssl.a \
../../../third/ssl/lib/libcrypto.a 

然后在编译配置的时候,加上选项

./configure -with-ssl=/usr/local/lib 

然后进行make,注意在编译最后的输出上有对各种协议的支持情况


可以看到,上面已经支持了SSL了。

原来以为可以很顺利的,结果编译的时候报一些*rtsp和*ldap相关的错误,然后google

发现,这个需要在curl 编译的时候禁用掉,然后到curl的目录下,重新配置编译配置

/configure -with-ssl=/usr/local/lib -without-librtmp -disable-rtsp  -disable-ldap -disable-ldaps

 OK,大功告成! 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值