说明:
本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。
QQ 群 号:513683159 【相互学习】
内容来源:
Everything curl 书在线阅读、libcurl教程、libcurl 函数之 curl_easy_setopt 详细
libcurl中curl_easy_setopt()和curl_easy_perform()函数使用中文详解 、libcurl教程、curl 官方介绍
URL格式、URL的语法、URL 格式说明、HTTP网页URL链接的语法格式最详细的分析与介绍
CURL介绍:
curl 全称:client url。一个URL客户端,用于上传和下载由URL指定的数据。
两种产品:
①命令行工具,curl工具使用方法
②带C API的传输库(libcurl)
协议支持:
支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP等协议。
应用场景:
支持使用SSL证书的安全文件传输:HTTP POST, HTTP PUT, FTP 上传, 基于HTTP形式的上传、代理、Cookies、用户加密码的认证等多种应用场景。
系统支持:
libcurl是一个高移植性的库,能在绝大多数系统上运行,包括Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS等。
URL
详细可看链接:url
url 全称:Uniform Resource Locator,统一资源定位符,是对互联网上得到的资源的位置和访问方法的一种简洁表示,具有全球唯一性,更习惯称作:网页地址(网址)。
语法格式(方括号[]为可选项):
<scheme>://<user>:<password>@<hostname>:[port]/<path>;[parameters]?[query]#<fragment>
1️⃣<scheme>
= 方案:指定解析URL应用程序使用的传输协议,如:http、ftp、smtp等协议。
②<user>:<password>
= 用户名 : 密码:很多服务器需要用户填入用户名和密码才能访问。
3️⃣<hostname>:[port]
= 主机名 : 端口号:资源宿主服务器域名系统(DNS)的主机名(或IP地址)与特定进程所提供的服务。
4️⃣<path>
= 路径:主机上的一个目录或文件地址(由零或多个“/”符号隔开的字符串)。
⑤[parameters]
= 参数:,用于指定特殊参数,每一项参数是以键/值 的形式存在的.
⑥[query]
= 查询:,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP。NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开
⑦<fragment>
:= 信息片断:字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。不是给服务器用的,而是给浏览器用到。当浏览器获取到从服务器拿到的文件之后,通过frag跳转到文件中的指定位置上
PS:1、3、4为最重要的组成部分。
curl下载
1️⃣命令行工具:
①更新软件包的最新列表:sudo apt-get update
②下载curl软件:sudo apt-get install curl
2️⃣curl库:
①在某路径下创建文件夹并进入
②通过git下载:git clone https://github.com/curl/curl.git
PS:若未下载git工具则可下载,步骤与1️⃣类似。
3️⃣相关网址:
①github curl网站 ②gitee curl网站
查询是否安装
1️⃣which命令:查询是否有curl命令工具,指令:whitch curl
2️⃣ldconfig命令:查询是否有curl动态库,指令:ldconfig -p | grep curl
ldconfig主要是在默认搜寻目录/lib
和/usr/lib
以及动态库配置文件/etc/ld.so.conf
内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*)。