您的位置:首页 > 其它

curl工具介绍和常用命令

2017-05-08 14:58 281 查看
curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、Linux发行版中,并且有DOS和Win32、Win64的移植版本。curl是一个利用URL规则在命令行下工作的文本传输工具。它支持上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。

常用命令:

1、下载单个文件,默认将输出打印到标准输出(stdout)中

curl http://www.centos.org[/code] 
2、通过将-o/-O选项保存下载的文件到指定的文件中:

-o:将文件保存为命令行中指定的文件名的文件中

curl -o mygettext.html http://www.gnu.org/software/gettext/manual/gettext.html[/code] 
-O:使用URL中默认的文件名保存文件到本地

curl -O http://www.gnu.org/software/gettext/manual/gettext.html[/code] 
同时,也可以使用转向符“>”对输出进行转向输出。

3、同时获取多个文件:

curl -O URL1 -O URL2


若同时从同一个站点下载多个文件时,curl会尝试重用链接(connection)。

通过-L选项进行重定向

默认情况下CURL不会发送HTTP Location headers(重定向),当一个被请求页面移动到另一个站点时,会发送一个HTTP Location header作为请求,然后将请求重定向到新的地址上。

例如,访问google.com 时,会自动将地址重定向到google.com.hk上:

curl http://www.google.com <HTML>
<HEAD>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE>
</HEAD>
<BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.com.hk/url?sa=p&hl=zh-CN&pref=hkredirect&pval=yes&q=http://www.google.com.hk/&ust=1379402837567135amp;usg=AFQjCNF3o7umf3jyJpNDPuF7KTibavE4aA">here</A>.
</BODY>
</HTML>


上述说明,所有请求的档案被转移到了http://www.google.com.hk

这时可以通过使用-L选项进行强制的重定向:

# 让curl使用地址进行重定向,此时会查询google.com.hk站点
curl -L http://www.google.com[/code] 
断点续传

通过使用-C选项可对大文件使用断点续传功能,如:

# 当文件在下载完成之前结束该进程
$ curl -O http://www.gnu.org/software/gettext/manual/gettext.html ##############             20.1%

# 通过添加-C选项继续对该文件进行下载,已经下载过的文件不会被重新下载
curl -C - -O http://www.gnu.org/software/gettext/manual/gettext.html ###############            21.1%


从FTP服务器下载文件

CURL同样支持FTP下载,若在url中指定的是某个文件路径而非具体的某个要下载的文件名,CURL则会列出该目录下的所有文件名而非下载该目录下的所有文件:

# 列出public_html下的所有文件夹和文件
curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/ # 下载xss.php文件
curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/xss.php[/code] 
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: