您的位置:首页 > 运维架构 > Linux

Linux命令之curl和wget

2017-03-20 12:50 260 查看
在Linux中crul是一个强大的http命令行工具,支持文档的上传和下载,是一个综合传输工具。

语法: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:从指定的URL下载文件,是最常用的下载命令
语法: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 信息 domain