在Linux中crul是一个强大的http命令行工具,支持文档的上传和下载,是一个综合传输工具,
在高级用途上的curl由于可自定义各种请求参数所以长于模拟web请求,常用于测试网页交互(浏览器);
语法:curl [选项] URL
常见参数:
-v/--verbose 小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是特别有用。
-m/--max-time <seconds> 指定处理的最大时长
-H/--header <header> 指定请求头参数
-s/--slient 减少输出的信息,比如进度
--connect-timeout <seconds> 指定尝试连接的最大时长
-x/--proxy <proxyhost[:port]> 指定代理服务器地址和端口,端口默认为1080
-T/--upload-file <file> 指定上传文件路径
-o/--output <file> 指定输出文件名称
-d/--data/--data-ascii <data> 指定POST的内容
--retry <num> 指定重试次数
-e/--referer <URL> 指定引用地址
-I/--head 仅返回头部信息,使用HEAD请求
-I:显示文档信息
-L:自动跳转到新的网址
curl -I http://www.hexing516.com/
HTTP/1.1 200 OK
Date: Mon, 20 Mar 2017 04:10:10 GMT
Content-Type: text/html
Connection: keep-alive
Set-Cookie: __cfduid=da352f5ea34da80d4c960a34b4a36ace51489983010; expires=Tue, 20-Mar-18 04:10:10 GMT; path=/; domain=.hexing516.com; HttpOnly
Last-Modified: Thu, 19 May 2016 02:51:13 GMT
Vary: Accept-Encoding
X-Powered-By: ASP.NET
X-Safe-Firewall: zhuji.360.cn 1.0.9.47 F1W1
Server: yunjiasu-nginx
CF-RAY: 3425d1f554df38f5-FUO
-O:按URL中默认的文件名保存文件到本地(需要指明具体的页面)
curl -O http://www.cnblogs.com/duhuo/p/5695256.html
curl -O http://mirror.bit.edu.cn/apache/httpd/flood/flood-0.4.tar.gz -O
http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.34.tar.bz2
-o:将文件保存为命令行中指定的文件名的文件中
curl -o b.txt http://www.baidu.com
-i:输出时包括protocol头信息
curl -i www.baidu.com
-C:大文件下载支持断点续传
curl -C - -O http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.34.tar.gz
--limit-rate:限速下载
curl --limit-rate 10k -O http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.34.tar.gz
从FTP下载文件:
curl -O -u et:11 ftp://18.62.25.1:907/FileTrans/uninc000.exe
-T:把本地文件上传到FTP服务器
curl -u ftpuser:ftppass -T a.txt ftp://ftp.testserver.com
上传多个文件:
curl -u ftpuser:ftppass -T "{a.txt,b.sh}" ftp://ftp.testserver.com
-s:安静模式,没有任何输出
curl -s -O http://www.baidu.com/index.html
wget:wget由于支持ftp和Recursive所以长于下载,常用于下载文件
语法:wget [选项] 参数
选项:
-T, --timeout=SECONDS:设定响应的超时时间
-a 日志文件:在指定的日志文件中记录命令的执行过程
-b:后台执行
--spider:测试是否可以正常下载,并不真正下载
-o file:把下载记录写到file文件中
-a file:把记录追加到文件中
-q:安静模式,没有输出
-w:两次尝试之间,间隔多少秒
-r:递归下载,慎用
-A --accept=LIST:递归下载中的被接受的扩展名列表
-R:递归下载中的不被接受的扩展名列表
–limit-rate=100k:限定下载速率,如100k
-O file:把下载的文档写到file文件中
-c:接着下载没有下载完的文件
--tries=number:如果失败的话,下载重试的次数
示例:
下载网页并保存到以zip结尾的文件中
[root@localhost ~]# wget -O a.zip www.baidu.com
下载多个文件:
wget http://mirror.bit.edu.cn/apache/httpd/README.html http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.34.tar.bz2 http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.27.tar.bz2
限速下载:
wget --limit-rate=300k http://www.minjieren.com/wordpress-3.1-zh_CN.zip
断点续传:
wget -c http://www.minjieren.com/wordpress-3.1-zh_CN.zip
对于大文件,可以用-b进行后台下载
wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
测试下载:
[root@localhost ~]# wget --spider www.baidu.com
一旦失败,重新下载的次数
wget --tries=3 www.baidu.com
使用wget –mirror镜像网站
wget --mirror -p --convert-links -P ./LOCAL URL
下载整个网站到本地
–-miror:开户镜像下载
-p:下载所有为了html页面显示正常的文件
–convert-links:下载后,转换成本地的链接
-P ./LOCAL:保存所有文件和目录到本地指定目录
把下载信息保存到文件中
[root@localhost ~]# wget -o a.txt www.baidu.com
过滤文件格式下载:--reject=
wget --reject=gif URL
下载网站所有的pdf文件
[root@localhost ~]# wget -r -A.pdf www.baidu.com
wget -r --accept=pdf,jpg www.baidu.com
转载于:https://blog.51cto.com/zengwj1949/1908374