Linux 下如何安装各种 库(openssl,curl库的安装)
2021/10/2 7:12:58
本文主要是介绍Linux 下如何安装各种 库(openssl,curl库的安装),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Linux 下如何安装各种 库
通常 初学者 自己不会安装库,都是按照网上一步一步去安装,有时候存在问题,有的网上的 需要 sudo 权限,而你并没有,这时候就需要将 库 安装在指定位置了,而你却并不知道如何安装,找又不好找到自己想要的安装 文章,所以本文教各位 如何在 ubuntu linux环境下 安装 库。
本文以安装 curl 库和 openssl 库为例。顺便使用了对应的 curl 库。
文章目录
-
openssl 库的 卸载和安装
-
curl 库的 卸载和安装
-
使用 curl 爬取 百度的 html
一、openssl 库的 卸载和安装
由于我们访问的网址 通常都是 https 开头的,也就是需要 ssl证书,所以在安装 curl 库之前需要安装 openssl
openssl 库 的卸载: sudo apt-get purge openssl
sudo rm -rf /etc/ssl #删除配置文件
openssl 库 的安装:
- 打开openssl 官网
- 点击 /source/old 下载旧版
- 点击 1.1.1 版本
- 下载 1.1.1j.tar.gz
-
解压命令 tar -zxvf openssl-1.1.1j.tar.gz
-
进入文件夹 cd openssl-1.1.1j/
-
先去 阅读 README 文件,发现 安装需要查看 INSTALL 文件
-
查看 INSTALL 文件,我们使用的是 ubuntu 系统,所以找的是 Unix 下的安装,我们不需要任何额外的配置,所以使用默认的就好,下面有一堆参数,如果有需要就去查看配置。
-
./config
-
sudo make (时间较久,需要耐心等待)
-
sudo make install
二、curl 库的 卸载和安装
curl 库 的卸载:apt-get remove curl
curl 库 的安装:
-
百度网盘下载 链接:curl 提取码:wgzs
-
解压缩命令 tar xvf curl-7.71.1.tar.bz2
-
切换目录到 curl-7.71.1
-
一样先查看 README 文件,发现里面没有关于安装的说明,再看下也没有 INSTALL 文件
-
一般这种情况 切换到 docs 目录 中查看 README.md,INSTALL文件 ,INSTALL.md文件,发现安装说明在 INSTALL.md文件中
-
由于我们需要访问 https 的网页 需要有 openssl ,所以再安装的时候 需要配置 openssl 参数,如图所示,由于安装 openssl 库时 装在了 默认路径,所以不需要指定 openssl 的路径,这次我演示下指定下 curl 库的安装位置。
-
先返回 curl-7.71.1/ 目录
-
./configure --prefix=$PWD/_install --with-ssl //第一个 --prefix=$PWD/_install 为安装到当前路径下的 _install 文件夹下,没有这个文件夹会自动生成,不用当心。第二个参数为 需要配置 openssl 并且 openssl 库 安装在默认位置。如果没有安装在默认位置,需要 --with-ssl=openssl安装位置!
-
make 编译
-
make install 安装(不在根路径下,不需要sudo权限)
-
测试,使用下面代码编译,尝试下 curl 库的使用
三、使用 curl 爬取 百度的 html
返回到 包含curl-7.71.1 的目录下,创建一个 test.c 文件,输入以下内容。
#include <stdio.h> #include <string.h> #include <curl/curl.h> char htmldata[1024] = {'\0'};//全局变量,用来接收从 百度 html返回的数据 size_t readData(void *ptr, size_t size, size_t nmemb, void *stream)//回调函数,把从后台的数据拷贝给ocrRetBuf { strncpy(htmldata,ptr,1024); printf("%s\n",htmldata); } void getUrl() { CURL *curl; CURLcode res; curl = curl_easy_init(); // 初始化 if (curl) { curl_easy_setopt(curl, CURLOPT_URL,"http://www.baidu.com"); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION,readData); //回调函数readDate读取返回值 res = curl_easy_perform(curl); // 执行 if (res != 0) { curl_easy_cleanup(curl); } } } int main(void) { getUrl(); return 0; }
我尝试复制了下,发现位置 乱序了,在 vi 编辑器中使用 gg=G 命令可以恢复。
然后退出 ,执行编译命令 gcc -o test test.c -I ./curl-7.71.1/_install/include/ -L ./curl-7.71.1/_install/lib/ -lcurl
- -o 表示 生成 test 这个可执行文件
- -I 表示 如果有找不到的 头文件 去这个指定的路径查找
- -L 表示 如果有找不到的 库去这个指定路径查找
- -lcurl 表示 编译时动态连接 库 curl
如果成功的会返回 百度 的 html 信息,类似下图,证明成功了。
最后,想给各位求个点赞,谢谢了!
这篇关于Linux 下如何安装各种 库(openssl,curl库的安装)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法