Linux平台下用C/C++实现Http/Https请求(libcurl)

1.编译安装 openssl
从官网下载最新版本:https://www.openssl.org/source/
在这里插入图片描述
首先解压下载好的安装包 openssl-1.1.1m.tar.gz

tar xzvf openssl-1.1.1m.tar.gz

然后进入目标目录进行编译

cd openssl-1.1.1m

./config

make

sudo make install

此时,openssl已安装完毕,可通过 make test 测试。

  • 查看openssl版本:openssl version 出现以下错误:
    openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

解决办法:

ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1

  1. 编译安装 libcurl
    curl库下载地址:https://curl.haxx.se/download.html
    在这里插入图片描述

同样下载解压安装包后(curl-7.81.0.tar.gz),进入工程目录进行编译

tar xzvf curl-7.81.0.tar.gz
cd curl-7.81.0
./buidconf
./configure --prefix=/usr/local/curl-7.81.0/
make
sudo make install

即完成安装。

3.编写 https 代码
代码参考:Linux C/C++实现https post/get请求

  • 如出现以下报错:
    configure error: select TLS backend(s) or disable TLS with --without-ssl

解决办法:
执行configure脚本时,使用以下指令:

./configure --prefix=/usr/local/curl-7.81.0/ --with-wolfssl

然后配置环境:

sudo vi /etc/bash.bashrc

在最后添加:

LIBRARY_PATH=/usr/local/curl-7.81.0/lib
export LIBRARY_PATH

保存退出,并更新环境:

source bash.bashrc

此时可使用curl指令:curl http://www.baidu.com

  • 在使用libcurl的程序编译过程中,如出现以下报错:
    /usr/bin/ld: 找不到 -lcurl

解决办法:

locate libcurl.so

显示结果,在 /usr/lib/x86_64-linux-gnu 目录下没有libcurl.so,即需要创建:

sudo ln -sf /usr/lib/x86_64-linux-gnu/libcurl.so.4.4.0 /usr/lib/x86_64-linux-gnu/libcurl.so

这样编译时即可找到 -lcurl

  • 在使用libcurl的程序编译过程中,如出现以下报错:
    fatal error: curl/curl.h: 没有那个文件或目录

解决办法:

sudo cp -r /usr/local/curl-7.81.0/include/curl /usr/include

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值