Linux系统-curl命令
Posted linux言叙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4897 100 4897 0 0 1663k 0 --:--:-- --:--:-- --:--:-- 2391k
B、使用-o/--output参数,将输出写到该文件中,必须输入保存文件名
[root@test ~]# curl -o test.html http://192.168.0.222
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4897 100 4897 0 0 1672k 0 --:--:-- --:--:-- --:--:-- 2391k
C、使用curl的内置option:-O(大写)保存网页中的文件
[root@test ~]# curl -O http://192.168.0.222/test.txt
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 206 100 206 0 0 88034 0 --:--:-- --:--:-- --:--:-- 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.txt http://192.168.0.222
[root@test ~]# curl -D head.txt -o /dev/null http://192.168.0.222
(5)下载文件
使用-o保存指定文件:
[root@test ~]# curl -o 1.jpg http://192.168.0.222/text.JPG
使用-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命令的主要内容,如果未能解决你的问题,请参考以下文章