linux curl https

某日接到一个需求,三方的http接口改成https。好吧,老项目中封装的http工具已经过时了,那么就使用curl库。

封装的代码放到资源中(关键字network)

如果使用多线程,需要在程序启动阶段即使用network之前,声明全局变量curl_global_init(CURL_GLOBAL_ALL);

代码简单,不做介绍,记录几点使用过程遇到的问题。

  • https访问返回403?

看着像客户端的问题,ip白名单也没问题。在不同的系统中执行比较,openssl版本不同结果不同。

高版本的系统没问题,问之,对方使用openssl1.1.0,遂升级。解决。

也可以服务端做改动。

  • 编译32位的libcurl.so,在64位系统下

可以不升级系统的openssl,高版本放到local下,curl configure时指定目录 --with-ssl=...

  • 404

url中有"-"等特殊字符,加上"\"转义后没问题。有的系统不需要转义,不明白原因。

  • 不支持https

如果不支持,确认系统是否安装了ssl(openssl)。支持的情况为configure 贴图

扫描二维码关注公众号,回复: 2137011 查看本文章

ssl enabled则表示支持。




猜你喜欢

转载自blog.csdn.net/witto_sdy/article/details/81013754
今日推荐