Linux系统-curl命令

知识的价值不在于占有,而在于使用。这篇文章主要讲述Linux系统-curl命令相关的知识,希望能为你提供帮助。
1、功能
curl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载。
2、常用参数

-A/--user-agent < string> :设置用户代理发送给服务器 -c/--cookie-jar < file> :操作结束后把cookie写入到这个文件中 -C/--continue-at < offset> :断点续转 -D/--dump-header < file> :把header信息写入到该文件中 -f/--fail:连接失败时不显示http错误 -w/--write-out [format]:什么输出完成后 -I/--head:只显示传输文档,经常用于测试连接本身 -o/--output:把输出写到该文件中,必须输入保存文件名 -O/--remote-name:把输出写到该文件中,保留远程文件的文件名 -F/--form:模拟表单提交 -s/--silent:静默模式,不输出任何东西 -S/--show-error:显示错误,在选项 -s 中,当 curl 出现错误时将显示 -L/--location:跟踪重定向 -n/--netrc:从netrc文件中读取用户名和密码 --ntlm:使用 HTTP NTLM 身份验证 -N/--no-buffer:禁用缓冲输出 -p/--proxytunnel:使用HTTP代理 --proxy-anyauth:选择任一代理身份验证方法 --proxy-basic:在代理上使用基本身份验证 --proxy-digest:在代理上使用数字身份验证 --proxy-ntlm:在代理上使用ntlm身份验证 -P/--ftp-port:使用端口地址,而不是使用PASV -M/--manual:显示全手动 -Q/--quote:文件传输前,发送命令到服务器 -r/--range:检索来自HTTP/1.1或FTP服务器字节范围 --range-file:读取(SSL)的随机文件 -R/--remote-time:在本地生成文件时,保留远程文件时间 --retry:传输出现问题时,重试的次数 --retry-delay:传输出现问题时,设置重试间隔时间 --retry-max-time:传输出现问题时,设置最大重试时间 --socks4:用socks4代理给定主机和端口 --socks5:用socks5代理给定主机和端口 -t/--telnet-option:Telnet选项设置 --trace:对指定文件进行debug -T/--upload-file:上传文件 -u/--user:设置服务器的用户和密码 -U/--proxy-user:设置代理用户名和密码 -V/--version:显示版本信息 -x/--proxy:在给定的端口上使用HTTP代理 -y/--speed-time:放弃限速所要的时间。默认为30 -Y/--speed-limit:停止传输速度的限制,速度时间秒 -z/--time-cond:传送时间设置 -0/--http1.0:使用HTTP 1.0 -1/--tlsv1:使用TLSv1(SSL) -2/--sslv2:使用SSLv2的(SSL) -3/--sslv3:使用的SSLv3(SSL) --3p-quote:like -Q for the source URL for 3rd party transfer --3p-url:使用url,进行第三方传送 --3p-user:使用用户名和密码,进行第三方传送 -4/--ipv4:使用IP4 -6/--ipv6:使用IP6 -#/--progress-bar:用进度条显示当前的传送状态

3、使用实例
(1)基础用法
[root@test ~]# curl http://192.168.0.222

注:获取网站html内容并输出。主要用来测试服务器能否正常访问网站。
(2)保存页面内容
A、使用linux系统重定向保存
[root@test ~]# curl http://192.168.0.222 > > test.html % Total% Received % XferdAverage SpeedTimeTimeTimeCurrent DloadUploadTotalSpentLeftSpeed 10048971004897001663k0 --:--:-- --:--:-- --:--:-- 2391k

B、使用-o/--output参数,将输出写到该文件中,必须输入保存文件名
[root@test ~]# curl -o test.html http://192.168.0.222 % Total% Received % XferdAverage SpeedTimeTimeTimeCurrent DloadUploadTotalSpentLeftSpeed 10048971004897001672k0 --:--:-- --:--:-- --:--:-- 2391k

C、使用curl的内置option:-O(大写)保存网页中的文件
[root@test ~]# curl -O http://192.168.0.222/test.txt % Total% Received % XferdAverage SpeedTimeTimeTimeCurrent DloadUploadTotalSpentLeftSpeed 10020610020600880340 --:--:-- --:--:-- --:--:--100k

(3)测试网页返回值
[root@test ~]# curl -o /dev/null -s -w %http_code http://192.168.0.222 403

注:该命令主要用来测试网站是否正常。
-o/--output,将输出保存到/dev/null;
-s:静默模式,不输出任何东西;
-w/--write-out [format]:什么输出完成后.
(4)保存http的response里面的header信息
[root@test ~]# curl -D head.txthttp://192.168.0.222 [root@test ~]# curl -D head.txt -o /dev/nullhttp://192.168.0.222

(5)下载文件
使用-o保存指定文件:
[root@test ~]# curl -o 1.jpg http://192.168.0.222/text.JPG

【Linux系统-curl命令】使用-O直接保存:
[root@test ~]# curl -O http://192.168.0.222/text.JPG

下载多个:
[root@test ~]# curl -O http://192.168.0.222/text[5-10].JPG

下载名显示进度条:
[root@test ~]# curl -# -O http://192.168.0.222/text.JPG

使用断点续传:
[root@test ~]# curl -C -O http://192.168.0.222/text.JPG

(6)使用ftp下载文件
[root@test ~]# curl -O -u 用户名:密码 ftp://192.168.0.222/test.JPG

注: curl -O ftp://用户名:密码@域名/下载的文件名
个人公众号:linux言叙
Linux系统-curl命令

文章图片


    推荐阅读