wget使用

 用wget递归下载 

Linux命令行下常用的http下载工具有wget和curl。 

1. 这里用wget递归下载某目录下所有除html外的文件~ 

wget -r -np --reject=html www.download.example 

其中: 

-r, 表示递归下载当前页面所有(子)链接 

-np,表示不去遍历父目录下内容 

--reject=html,不接受扩展名为html的文件 

或者可以把reject换做 --accept=iso,c,h,表示只接受以此结尾的文件,分隔符为逗号(comma-separated) 

2. 用curl来查看http过程

 curl -v here.is.your.url 

我用该选项查看取服务器上主页的过程,主要是这里包括了http header: 

复制代码

 zxluo@polaris:~$ curl -v 192.168.1.1 

* About to connect() to 192.168.1.1 port 80 (#0) 

*   Trying 192.168.1.1... connected 

* Connected to 192.168.1.1 (192.168.1.1) port 80 (#0) 

> GET / HTTP/1.1 

> User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6

 > Host: 192.168.1.1

 > Accept: */*

 > 

 < HTTP/1.1 200 OK

 < Date: Tue, 26 Feb 2013 07:52:54 GMT

 < Server: Apache/2.2.16 (Debian)

 < Last-Modified: Wed, 18 Apr 2012 12:18:11 GMT

 < ETag: "a002-b1-4bdf30c7c06c0"

 < Accept-Ranges: bytes

 < Content-Length: 177

 < Vary: Accept-Encoding

 < Content-Type: text/html < 

 <html><body><h1>It works!</h1>

 <p>This is the default web page for this server.</p>

 <p>The web server software is running but no content has been added, yet.</p>

 </body></html>

 * Connection #0 to host 192.168.1.1 left intact

 * Closing connection #0

 复制代码

  另外,curl -i here.is.your.url只显示response的头信息。

 3. 表单提交

 发送表单信息有GET和POST两种方法。GET方法相对简单,只要把数据附在网址后面就行。

 curl example.com/form.cgi?data=xxx

 POST方法必须把数据和网址分开,curl就要用到--data参数。

 curl --data "data=xxx" example.com/form.cgi

 如果你的数据没有经过表单编码,还可以让curl为你编码,参数是--data-urlencode。

 curl --data-urlencode "date=April 1" example.com/form.cgi

 可以用curl这样上传文件:

     curl --form upload=@localfilename --form press=OK [URL]

 4. HTTP认证

 有些网域需要HTTP认证,这时curl需要用到--user参数。

 curl --user name:password example.com

wget下载整个网站或目录

 一 21st, 2009

 shell

 no comments

 用wget下载东西,的确很方便,它会自动重连并断点续传。让人很放心。

 经常要下载一个网站或网站的某个目录。

 将wget命令放到这里备用:

 下载一个目录,例如网站的yourdir

 wget -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5)" -r -p -k -np -Pmydir -nc -o down.log http://www.yourdomain.com/yourdir/index.html

 如果要想下载整个网站,最好去除-np参数。

 wget -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5)" -r -p -k -nc -o down.log http://www.yourdomain.com/index.html

 -U 修改agent,伪装成IE货firefox等

 -r 递归;对于HTTP主机,wget首先下载URL指定的文件,然后(如果该文件是一个HTML文档的话)递归下载该文件所引用(超级连接)的所有文件(递 归深度由参数-l指定)。对FTP主机,该参数意味着要下载URL指定的目录中的所有文件,递归方法与HTTP主机类似。

 -c 指定断点续传功能。实际上,wget默认具有断点续传功能,只有当你使用别的ftp工具下载了某一文件的一部分,并希望wget接着完成此工作的时候,才需要指定此参数。

 -nc 不下载已经存在的文件

 -np 表示不跟随链接,只下载指定目录及子目录里的东西;

 -p 下载页面显示所需的所有文件。比如页面中包含了图片,但是图片并不在/yourdir目录中,而在/images目录下,有此参数,图片依然会被正常下载。

 -k 修复下载文件中的绝对连接为相对连接,这样方便本地阅读。

    A+
发布日期:2013年12月23日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: