当前位置:首页 > 站长知识 > 正文内容

Linux curl命令用法详解

2024-08-26站长知识17

curl命令在Linux操作系统中经常用于测试网络和URL的连通性,模拟正常的网络访问。它是一款利用URL规则在命令行下工作的文件传输工具,具备强大的HTTP命令行功能。curl支持文件的上传和下载,是一款综合的传输工具。然而,按照传统的习惯,人们更倾向于将其视为下载工具。

一、语法格式

curl 参数 网址URL 文件名

二、常用参数

1、-a:追加写入到指定文件。

2、–cacert:设置CA证书文件。

3、-A:设置用户代理标头信息。

4、-G:以GET方式传送数据。

5、-b:设置用户Cookie信息。

6、–capath:设置CA证书目录。

7、-B:使用ASCII文本传输。

8、–cert-type:设置客户端证书文件和密码。

9、-C:支持断点续传。

10、–ciphers:设置SSL证书密码。

11、-d:以HTTP POST方式传送数据。

12、–connect-timeout:设置最大请求时间。

13、-D:把头部信息写入指定文件。

14、–create-dirs:创建本地目录的层次结构。

15、-e:设置来源网址URL。

16、–digest:使用数字身份验证。

17、-f:连接失败时不显示报错。

18、–ftp-create-dirs:自动创建远程目录。

19、-o:设置新的本地文件名。

20、–ftp-pasv:使用PASV/EPSV代替端口。

21、-a:追加写入到指定文件。

22、–ftp-ssl:使用SSL/TLS进行数据传输。

23、-O:保留远程文件的原始名。

24、–ftp-ssl-reqd:使用SSL/TLS进行数据传输。

25、-G:以GET方式传送数据。

26、–help:显示帮助信息。

27、-H:自定义头信息。

28、–key:设置私钥文件名。

29、-I:显示网站的响应头信息。

30、–key-type:设置私钥文件类型。

31、-K:读取指定配置文件。

32、–limit-rate:设置传输速度。

33、-N:禁用缓冲输出。

34、–max-filesize:设置最大下载的文件总量。

35、-s:静默执行模式。

36、–max-redirs:设置最大重定向次数。

37、-T:上传指定文件。

38、–pass:设置密钥密码。

39、-u:设置服务器的用户名和密码。

40、–progress-bar:显示进度条。

41、-U:设置代理的用户名和密码。

42、–verbose:显示执行过程详细信息。

43、–basic:使用HTTP基本验证。

44、–version:显示版本信息。

三、参考示例

1、获取指定网站的网页源码:

[root@zzbaike ~]# curl https://www.zzbaike.com
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0
--:--:-- --:--:-- --:--:-- 0 ………………省略部分输出信息………………

2、下载指定网站中的文件:

[root@zzbaike ~]# curl -O https://www.linuxprobe.com/docs/LinuxProbe.pdf
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16.8M 100 16.8M 0 0 22.5M 0 --:--:-- --:--:-- --:--:-- 22.5M

3、打印指定网站的HTTP响应头信息:

[root@zzbaike ~]# curl -I https://www.zzbaike.com
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
HTTP/2 200
server: Tengine
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
date: Wed, 04 May 2023 06:44:26 GMT
vary: Accept-Encoding
x-powered-by: PHP/7.4.11
vary: Accept-Encoding,
Cookie cache-control: max-age=3, must-revalidate
ali-swift-global-savetime: 1651646666
via: cache3.l2cn1802[235,234,200-0,M], cache17.l2cn1802[236,0], kunlun10.cn257 [403,414,200-0,M], kunlun
2.cn257[417,0]
x-cache: MISS TCP_REFRESH_MISS dirn:0:416601537
x-swift-savetime: Wed, 04 May 2023 06:44:26 GMT
x-swift-cachetime: 3 timing-allow-origin: *
eagleid: ab08f29616516466664417014e

4、下载指定文件服务器中的文件(用户名:密码):

[root@zzbaike ~]# curl -u linuxprobe:redhat ftp://www.zzbaike.com/LinuxProbe.pdf