​浏览网页下载文件命令(十七)

下载工具:wget

浏览网页:curl,elinks,nslookup

13.1.wget

功能:非交互式网络下载

语法:wget [option]... [URL]...

常用选项:

启动:

-b,  --background         转入 后台运行

-V, –version                  打印wget版本

-h,help                        打印语法帮助

e, –execute=COMMAND   执行`.wgetrc’格式的命令

日志记录和输入文件:

-o,  --output-file=FILE      把记录写到FILE文件

-a, --append-output=FILE    把记录追加到FILE文件中

-d,  --debug              打印调试输出,会包含头信息

-v, –verbose              冗长模式(这是缺省设置)

-nv, –non-verbose          关掉冗长模式,但不是安静模式

-F, –force-html           把输入文件当作HTML格式文件对待

-B, –base=URL             将URL作为在-F -i参数指定的文件中出现的相对链接的前缀

-q,  --quiet              退出

-i,  --input-file=FILE      从文件中读取URL下载

–sslcertfile=FILE     可选客户端证书

–sslcertkey=KEYFILE   可选客户端证书的KEYFILE

–egd-file=FILE        指定EGD socket的文件名

下载:

--bind-address=ADDRESS      设置绑定地址(主机名或IP,当本地有多个IP或名字时使用)

-t,  --tries=NUMBER                 设置链接重试次数(0 表示无限制)

-O, --output-document=FILE     把文档写到FILE文件中

-nc, --no-clobber                        跳过下载现有的文件

-c,  --continue                            断点续传

--progress=TYPE                      设置进度条(dot和bar)

-N, –timestamping                     不要重新下载文件除非比本地文件新

-S,  --server-response              打印服务器响应

--spider                                      不下载任何内容

-T, --timeout=SECONDS    设置相应超时时间(还有--dns-timeout、--connect-timeout和--read-timeout)

-w,  --wait=SECONDS     两次重试间隔等待时间

–random-wait            在下载之间等待0…2*WAIT秒

-Y, –proxy=on/off           打开或关闭代理

-Q, –quota=NUMBER           设置下载的容量限制

--limit-rate=RATE      限制下载速度

--user=USER         设置ftp和http用户名

--password=PASS       设置ftp和http密码

目录:

-nd –no-directories            不创建目录

-x, –force-directories         强制创建目录

-nH, –no-host-directories       不创建主机目录

-P, --directory-prefix=PREFIX  保存文件目录

–cut-dirs=NUMBER           忽略 NUMBER层远程目录

HTTP选项:

--http-user=USER         设置http用户名

--http-password=PASS   设置http密码

-C, –cache=on/off        允许/不允许服务器端的数据缓存 (一般情况下允许)

-E, –html-extension      将所有text/html文档以.html扩展名保存

–ignore-length           忽略 `Content-Length’头域

--proxy-user=USER     设置代理用户名

--proxy-password=PASS  设置代理密码

--referer=URL       设置Referer

-s,--save-headers      保存头到文件

--default-page=NAME    改变默认页面名字,默认index.html

-U,--user-agent=AGENT  设置客户端信息

--no-http-keep-alive   禁用HTTP keep-alive(长连接)

--load-cookies=FILE    从文件加载cookies

--save-cookies=FILE    保存cookies到文件

--post-data=STRING     使用POST方法,发送数据

FTP选项:

--ftp-user=USER      设置ftp用户名

--ftp-password=PASS    设置ftp密码

--no-passive-ftp      禁用被动传输模式

-nr, –dont-remove-listing   不移走 `.listing’文件

-g, –glob=on/off           打开或关闭文件名的 globbing机制

–passive-ftp           使用被动传输模式 (缺省值).

–active-ftp            使用主动传输模式

–retr-symlinks         在递归的时候,将链接指向文件(而不是目录)

递归下载:

-r, --recursive       指定递归下载,慎用!

-l, --level=NUMBER     最大递归深度, (inf 或 0 代表无穷).

–delete-after       在现在完毕后局部删除文件

-k, –convert-links      转换非相对链接为相对链接

-K, –backup-converted   在转换文件X之前,将之备份为 X.orig

-m, –mirror             等价于 -r -N -l inf -nr.

-p, –page-requisites    下载显示HTML文件的所有图片

递归下载中的包含和不包含(accept/reject)

-A, --accept=LIST      逗号分隔下载的扩展列表

-R, --reject=LIST      逗号分隔不被下载的扩展列表

-D, --domains=LIST     逗号分隔被下载域的列表

--exclude-domains=LIST   排除不被下载域的列表

–follow-ftp                 跟踪HTML文档中的FTP链接

–follow-tags=LIST           分号分隔的被跟踪的HTML标签的列表

-G, –ignore-tags=LIST           分号分隔的被忽略的HTML标签的列表

-H, –span-hosts                 当递归时转到外部主机

-L, –relative                   仅仅跟踪相对链接

-I, –include-directories=LIST   允许目录的列表

-X, –exclude-directories=LIST   不被包含目录的列表

-np, –no-parent                  不要追溯到父目录

示例:

[[email protected] ~]# wget http://nginx.org/download/nginx-1.9.9.tar.gz  #下载单个文件到当前路径
--2017-06-12 00:02:08--  http://nginx.org/download/nginx-1.9.9.tar.gz
Resolving nginx.org... 206.251.255.63, 95.211.80.227, 2001:1af8:4060:a004:21::e3, ...
Connecting to nginx.org|206.251.255.63|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 887908 (867K) [application/octet-stream]
Saving to: “nginx-1.9.9.tar.gz”
 
100%[======================================>] 887,908      345K/s   in 2.5s   
 
2017-06-12 00:02:11 (345 KB/s) - “nginx-1.9.9.tar.gz” saved [887908/887908]
# wget -b  http://nginx.org/download/nginx-1.9.9.tar.gz    #放在后台下载
对于网络不稳定的用户使用-c和--tries参数,保证下载完成,并下载到指定目录:
[[email protected] ~]# wget -t 3 -c http://nginx.org/download/nginx-1.9.9.tar.gz -P down  ##对于网络不稳或者其他原因,使用-c 和--tries,保证下载完成,并下载到指定的路径
--2017-06-12 00:06:24--  http://nginx.org/download/nginx-1.9.9.tar.gz
Resolving nginx.org... 95.211.80.227, 206.251.255.63, 2001:1af8:4060:a004:21::e3, ...
Connecting to nginx.org|95.211.80.227|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 887908 (867K) [application/octet-stream]
Saving to: “down/nginx-1.9.9.tar.gz”
 
100%[======================================>] 887,908      364K/s   in 2.4s   
 
2017-06-12 00:06:28 (364 KB/s) - “down/nginx-1.9.9.tar.gz” saved [887908/887908]
[[email protected] scripts]#  wget http://www.baidu.com/index.html -O index.html   #下载内容到文件
--2017-06-12 11:16:23--  http://www.baidu.com/index.html
Resolving www.baidu.com... 14.215.177.38, 14.215.177.37
Connecting to www.baidu.com|14.215.177.38|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2381 (2.3K) [text/html]
Saving to: “index.html”
100%[======================================================================================>] 2,381       --.-K/s   in 0s      
2017-06-12 11:16:23 (336 MB/s) - “index.html” saved [2381/2381]
[[email protected] scripts]# ls index.html 
index.html
[[email protected] scripts]# cat > url
https://www.baidu.com/index.html
^C
[[email protected] scripts]# wget -i url   #从文件读取url下载
--2017-06-12 11:18:48--  https://www.baidu.com/index.html
Resolving www.baidu.com... 14.215.177.38, 14.215.177.37
Connecting to www.baidu.com|14.215.177.38|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2443 (2.4K) [text/html]
Saving to: “index.html.1”
 
100%[======================================================================================>] 2,443       --.-K/s   in 0s     
 
2017-06-12 11:18:49 (11.8 MB/s) - “index.html.1” saved [2443/2443]
 
FINISHED --2017-06-12 11:18:49--
Downloaded: 1 files, 2.4K in 0s (11.8 MB/s)


13.2.curl

功能:传递一个url

语法:curl [options] [URL...]

常用选项:

-A/--user-agent <agent string>   指定客户端信息

-b/--cookie <name=data>            从文件中读取cookie

-C/--continue-at <offset>             断点续传

-c/--cookie-jar <file name>           把cookie保存到文件

-d/--data <data>                           使用POST方式发送数据

-D/--dump-header <file>              保存头信息到文件

--data-urlencode <data>               POST的数据URL编码

-e/--referer <URL>                         来源网址

-f/--fail                                             连接失败时不显示http错误

-F/--form <name=content>            指定POST数据的表单

--ftp-pasv                                         指定FTP连接模式PASV/EPSV

-H/--header <header>                    自定义头信息发送给服务器

-L/--location                                   遵循URL重定向,默认不处理

-I/--head                                          查看HTTP头信息

-O/--remote-name                          使用远程服务器上名字写到本地

-o/--output <file>                          输出到文件

-P/--ftp-port <address>                指定FTP端口

-#/--progress-bar  显示bar进度条

-x,/--proxy[PROTOCOL://]HOST[:PORT]  使用代理

-U/--proxy-user <user:password>        代理用户名和密码

--connect-timeout  连接超时时间,单位秒

--retry NUM      连接重试次数

--retry-delay         两次重试间隔等待时间

-s/--silent              静默模式,不输出任何内容

-Y/--speed-limit  限制下载速率

-u/--user <user:password>指定http和ftp用户名和密码

-T/ --upload-file   上传文件

示例:

[[email protected] scripts]# curl www.baidu.com    #百度字符页面就展示在命令行上
<!DOCTYPE html>
[[email protected] scripts]# curl -o baidu.html www.baidu.com  #保存页面
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
103  2381  103  2381    0     0  41981      0 --:--:-- --:--:-- --:--:--  211k
[[email protected] scripts]# ls baidu.html 
baidu.html
[[email protected] scripts]# curl -s -o baidu.html www.baidu.com   #不输出下载信息
[[email protected] scripts]#
[[email protected] scripts]# curl -b cookies www.baidu.com              #使用cookie访问
# curl -u user:pass http://www.example.com                              #访问HTTP认证页面

13.3.elinks

功能:实现纯文本界面访问网页

语法:elinks(选项)(参数)

常用选项:

-anonymous:是否使用匿名帐号方式;

-auto-submit:遇到的第一个表单是否自动提交;

-config-dir:指定elinks指令运行时读取和写入自身的配置和运行状态的存放目录;

-dump:将HTML文档以纯文本的方式打印到标准输出设备;

-version:打印指令的版本信息;

-h:打印帮助信息。

示例:

[[email protected] ~]# elinks -dump www.baidu.com
   Refresh: [1]/baidu.html?from=noscript
   Link: [2]百度搜索 (search)
   Link: [3]dns-prefetch
   Link: [4]dns-prefetch
   Link: [5]dns-prefetch
   Link: [6]dns-prefetch
   Link: [7]dns-prefetch
   Link: [8]dns-prefetch
   Link: [9]dns-prefetch
   Link: [10]dns-prefetch
   [11]到百度首页
   [12]_____________________ [13][ 百度一下 ]
   输入法
 
     * [14]手写
     * [15]拼音
     * 
     * [16]关闭

13.4.nslookup

功能:交互式查询Internet名称服务器,也就是查询DNS信息

语法:nslookup [-option] [name | -] [server]

示例:

[[email protected] ~]# nslookup
> www.baidu.com
Server:         114.114.114.114    #默认配置dns服务器
Address:        114.114.114.114#53
 
Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com    #对应的百度dns
Address: 163.177.151.110  
Name:   www.a.shifen.com
Address: 163.177.151.109
时间: 2024-11-08 04:27:42

​浏览网页下载文件命令(十七)的相关文章

Uboot的串口下载文件命令:loads / loadb / loady

1. loads loads [ off ] 通过串口,下载S-Rec文件到off位置 loads命令可以通过串口线下载S-Record格式文件. 2. loadb loadb [ off ] [ baud ] 通过串口,以baud速率,下载binary到off位置(即:kermit protocol) loadb命令可以通过串口线下载二进制格式文件. 3. loady loady [load address] [baud rate] 支持Ymodem协议 Uboot的串口下载文件命令:load

【Python】Python的urllib模块、urllib2模块进行网页下载文件

由于需要从某个网页上下载一些PDF文件,但是需要下载的PDF文件有几百个,所以不可能用人工点击来下载.正好Python有相关的模块,所以写了个程序来进行PDF文件的下载,顺便熟悉了Python的urllib模块和ulrllib2模块. 1.问题描述 需要从http://www.cvpapers.com/cvpr2014.html上下载几百个论文的PDF文件,该网页如下图所示: 2.问题解决 通过结合Python的urllib模块和urllib2模块来实现自动下载.代码如下: test.py #!

WPF带cookie get/post请求网页,下载文件,图片,可保持会话状态

直接写成啦一个MyNet.cs类方便使用 get/post方法请求 //get请求 MyNet.SendRequest("http://www.baidu.com"); //post请求 var param = new Dictionary<string, string> { {"a","this is a param" }, {"b","this second param"} }; MyNet

linux在当前目录上传下载文件命令rz sz

简介:lrzsz是一款在linux里可代替ftp上传和下载的程序,适合传输小文件,不适合传输大型文件:rz,sz便是Linux/Unix同Windows进行ZModem文件传输的命令行工具. 1.安装命令:yum -y install lrzsz 2.上传命令: rz rz中的r意为received(接收),输入rz时,意为服务器接收文件,即将文件从本地上传到服务器,覆盖目录下的同名文件命令:rz -y 3.下载命令:sz  filename sz的s意为send(发送),输入sz时,意为服务器

Linux中使用SecureCRT上传、下载文件命令sz与rz用法实例

借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器 其中,对于sz和rz的理解与记忆我用了如下的方法(因为很多时候容易搞混):sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载.rz中的r意为received(接收),告诉客户端,我(服务器)要接收文件 received by cilent,就等同于客户端在上传. 注意:sz和rz命令需要服务器支持,如果提

Linux系统上传文件与下载文件命令

我们用的服务器都是Linux系统的,如果用的是远程服务器,就需要将我们的代码推送过去,这里可以用到PSCP命令. (一)上传 pscp 本机文件的路径以及文件名 远程主机的用户名@远程主机IP:想要存放的目录 然后输入远程主机的用户密码 ok 文件已经上传到目标机器的指定目录下了 (二)下载 pscp 远程主机用户名@远程主机IP:远程主机文件所在的目录即文件名 本机存放文件的路径 然后输入远程主机的用户密码.ok! 其他 ------------------------------------

关于网页下载文件,使用数据流方式下载

关于文件下载,很多都是用href='文件地址',这样做是很不安全的,所以需要使用到文件流,以下代码用于下载一张图片. Response.BufferOutput = false; Response.Clear(); Response.ContentType = "application/x-msdownload"; Response.AppendHeader("Content-Disposition", "attachment; filename=&quo

SecureCRT下载文件命令

方法1 1,tar -cvf 文件名1(自己定义) 文件名2(要取的文件名) 2,sz 文件名1  文件1就会被下载到本地下载路径 方法2 1,tar -cvf 文件名1(自己定义) 文件名2(要取的文件名) 2,页签处点击右键  选择sftp   get+文件名1    文件1就会被下载到本地下载路径

linux中使用lftp上传下载文件

lftp是linux中一款ftp服务器相比windows中的ftp显得要复杂不少了,下面我来总结一下lftp文件上传,文件下载,及文件查找等等相关命令吧. lftp连接的几种方法,最常用的是lftp [email protected],这样可以不用明文输入密码. 1.lftp [email protected] 回车 输入密码 2.lftp name:[email protected] 回车 3.lftp site 回车login 用户名 密码 4.lftp 回车 open site 回车 lo