这是 wget 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
Wget - 非交互式网络下载器。
概要
wget [选项]……[网址] ...
商品描述
GNU Wget 是一个免费实用程序,用于从 Web 非交互式下载文件。 它
支持 HTTP、HTTPS 和 FTP 协议,以及通过 HTTP 代理检索。
Wget 是非交互式的,这意味着它可以在后台工作,而用户则不能
已登录。 这允许您开始检索并断开与系统的连接,让
wget 完成工作。 相比之下,大多数 Web 浏览器需要不断的用户
存在,这在传输大量数据时可能是一个很大的障碍。
Wget 可以跟踪 HTML、XHTML 和 CSS 页面中的链接,以创建远程版本的本地版本
网站,完全重新创建原始网站的目录结构。 这是
有时也称为“递归下载”。 在这样做时,Wget 尊重
机器人排除标准(/机器人.txt)。 可以指示 Wget 将链接转换为
下载的文件指向本地文件,供离线查看。
Wget 被设计为在缓慢或不稳定的网络连接上具有鲁棒性; 如果一个
由于网络问题下载失败,它将不断重试,直到整个文件都
被检索。 如果服务器支持重新获取,它将指示服务器继续
从它停止的地方下载。
Wget 不支持客户端撤销列表 (CRL),因此您使用的 HTTPS 证书
连接到可能会被站点所有者撤销。
配置
附加选项 句法
由于 Wget 使用 GNU getopt 来处理命令行参数,因此每个选项都有一个长格式
随着短的。 长选项更容易记住,但需要时间
类型。 您可以自由混合不同的选项样式,或在命令后指定选项 -
行参数。 因此你可以写:
wget -r --tries=10 http://fly.srk.fer.hr/ -o 日志
可以省略接受参数的选项和参数之间的空格。
而不是 -o 日志 你可以写 -olog.
您可以将几个不需要参数的选项放在一起,例如:
wget -drc
这完全等同于:
wget -d -r -c
由于可以在参数之后指定选项,因此您可以使用以下命令终止它们 --.
所以下面会尝试下载网址 -x, 报告失败 日志:
wget -o 日志 -- -x
接受逗号分隔列表的选项都遵守指定的约定
空列表清除其值。 这有助于清除 .wgetrc 设置。 为了
例如,如果你的 .wgetrc 将“exclude_directories”设置为 /cgi-bin,下面的例子
将首先重置它,然后将其设置为排除 /~没人 和 /~某人。 您也可以
清除列表 .wgetrc.
wget -X " -X /~nobody,/~somebody
大多数不接受参数的选项是 布尔 选项,之所以如此命名是因为它们
可以使用是或否(“布尔值”)变量捕获状态。 例如, --跟随-ftp
告诉 Wget 跟随来自 HTML 文件的 FTP 链接,另一方面, --无全局变量 告诉它
不要在 FTP URL 上执行文件通配。 布尔选项是 肯定 or
负 (以。。。开始 - 不要)。 所有这些选项共享几个属性。
除非另有说明,否则假定默认行为与
选项完成。 例如,记录在案的存在 --跟随-ftp 假设
默认是 不能 从 HTML 页面跟踪 FTP 链接。
可以通过在前面加上肯定的选项来否定 - 不- 到选项名称; 消极的
可以通过省略选项来否定 - 不- 字首。 这似乎是多余的——如果
肯定选项的默认设置是不做某事,那么为什么要提供一种方法来
明确关闭它? 但是启动文件实际上可能会更改默认值。 为了
例如,使用“follow_ftp = on” .wgetrc 使 Wget 遵循 默认情况下 FTP 链接,以及
运用 --no-follow-ftp 是从命令恢复出厂默认值的唯一方法
线。
基础 创业公司 附加选项
-V
- 版
显示 Wget 的版本。
-h
- 帮帮我
打印描述所有 Wget 命令行选项的帮助消息。
-b
- 背景
启动后立即进入后台。 如果没有通过指定的输出文件
-o, 输出被重定向到 wget日志.
-e 命令
- 执行 命令
执行 命令 仿佛它是其中的一部分 .wgetrc. 这样调用的命令将是
执行 after 中的命令 .wgetrc,因此优先于它们。 如果你需要
要指定多个 wgetrc 命令,请使用多个实例 -e.
记录 和 输入 文件 附加选项
-o 日志文件
--输出文件=日志文件
将所有消息记录到 日志文件. 这些消息通常报告为标准错误。
-a 日志文件
--附加输出=日志文件
附加到 日志文件. 这与 -o,只有它附加到 日志文件 而不是
覆盖旧的日志文件。 如果 日志文件 不存在,创建一个新文件。
-d
-调试
打开调试输出,这意味着对 Wget 开发人员很重要的各种信息
如果它不能正常工作。 您的系统管理员可能已经选择编译
Wget 没有调试支持,在这种情况下 -d 不管用。 请注意
使用调试支持编译总是安全的---使用调试支持编译的 Wget
将 不能 打印任何调试信息,除非请求 -d.
-q
- 安静的
关闭 Wget 的输出。
-v
--详细
使用所有可用数据打开详细输出。 默认输出是详细的。
-nv
--无冗长
关闭详细而不完全安静(使用 -q 为此),这意味着
仍然会打印错误消息和基本信息。
--报告速度=类型
输出带宽为 类型. 唯一接受的值是 位.
-i 文件
--输入文件=文件
从本地或外部读取 URL 文件。 如果 - 被指定为 文件, 读取 URL
从标准输入。 (用 ./- 从字面上命名的文件中读取 -.)
如果使用此函数,则命令行上不需要出现 URL。 如果有
命令行和输入文件中的 URL,命令行上的 URL 将是
要检索的第一个。 如果 --force-html 没有指定,那么 文件 应该
由一系列 URL 组成,每行一个。
但是,如果您指定 --force-html, 该文件将被视为 HTML。 在那里面
如果您可能遇到相关链接的问题,您可以通过添加来解决
”网址">" 到文件或通过指定 --基础=网址 在命令行上。
如果 文件 是外部的,文档将被自动视为 HTML if
内容类型匹配 text / html的。 此外,该 文件的位置将是
如果未指定,则隐式用作基本 href。
--输入-金属链接=文件
下载本地 Metalink 覆盖的文件 文件. Metalink 版本 3 和 4 是
支持的。
--metalink-over-http
发出 HTTP HEAD 请求而不是 GET 并从响应中提取 Metalink 元数据
标题。 然后它切换到 Metalink 下载。 如果没有有效的 Metalink 元数据
发现,它回退到普通的 HTTP 下载。
- 首选地点
为 Metalink 资源设置首选位置。 如果多个资源,这会产生影响
具有相同的优先级可用。
-F
--force-html
从文件中读取输入时,强制将其视为 HTML 文件。 这使
您可以通过添加从本地磁盘上的现有 HTML 文件中检索相关链接
”网址">" 到 HTML,或使用 - 根据 命令行选项。
-B 网址
--基础=网址
使用解决相对链接 网址 作为参考点,在阅读链接时
通过指定的 HTML 文件 -i/- 输入文件 选项(连同 --force-html或
当输入文件是从将其描述为 HTML 的服务器远程获取时)。 这是
相当于 HTML 输入文件中存在“BASE”标签,其中 网址 作为
“href”属性的值。
例如,如果您指定 http://foo/bar/a.html 网址, 并且 Wget 读取
../baz/b.html 从输入文件,它将被解析为 http://foo/baz/b.html.
--配置=文件
指定要使用的启动文件的位置。
--拒绝日志=日志文件
将所有 URL 拒绝记录到 日志文件 作为逗号分隔值。 这些值包括
拒绝原因、URL 和在其中找到的父 URL。
下载 附加选项
--绑定地址=地址
在建立客户端 TCP/IP 连接时,绑定到 地址 在本地机器上。 地址
可以指定为主机名或 IP 地址。 如果您的
机器绑定了多个IP。
-t 数
--尝试=数
将尝试次数设置为 数. 指定 0 或 inf 用于无限重试。 默认是
重试 20 次,除了“连接被拒绝”等致命错误或
“未找到”(404),不会重试。
-O 文件
--输出文档=文件
这些文件不会被写入适当的文件,但所有的都将被写入
连接在一起并写入 文件。 如果 - 用作 文件, 文件将是
打印到标准输出,禁用链接转换。 (用 ./- 打印到文件
字面上的名字 -.)
用于 -O is 不能 旨在简单地表示“使用名称 文件 而不是在
URL;" 相反,它类似于 shell 重定向: wget的 -O 文件 http://foo is
打算像 wget的 -O - http://foo > 文件; 文件 将立即被截断,
和 所有 下载的内容会写在那里。
出于这样的原因, -N (用于时间戳检查)不支持与 -O:
自 文件 总是新创建的,它总是有一个非常新的时间戳。 一种
如果使用此组合,将发出警告。
同样,使用 -r or -p -O 可能无法按预期工作:Wget 不会只下载
第一个文件 文件 然后将其余的下载到它们的正常名称中: 所有
下载的内容将被放置在 文件. 这在 1.11 版中被禁用,但有
已在 1.11.2 中恢复(带有警告),因为在某些情况下
行为实际上可以有一些用处。
与 -NC 仅当给定的输出文件不存在时才接受。
请注意,与 -k 仅在下载单个文档时才允许,
在这种情况下,它只会将所有相对 URI 转换为外部 URI; -k 没有
当多个 URI 都被下载到一个文件时,它们的意义; -k 可
仅在输出为常规文件时使用。
-NC
--无破坏
如果在同一目录中多次下载文件,Wget 的行为取决于
在几个选项上,包括 -NC. 在某些情况下,本地文件将是 重挫,
或覆盖,重复下载。 在其他情况下,它将被保留。
在没有运行 Wget 时 -N, -NC, -r或 -p, 下载同一个文件
目录将导致原始副本 文件 被保存和第二个副本
被命名 文件.1. 如果再次下载该文件,第三个副本将是
命名 文件.2, 等等。 (这也是行为 -nd, 即使 -r or -p 在...
效果。)当 -NC 指定,此行为被抑制,Wget 将拒绝
下载较新的副本 文件. 因此,“no-clobber”实际上是用词不当
这种模式---它不是被阻止的破坏(因为数字后缀已经
防止破坏),而是防止多版本保存。
运行 Wget 时 -r or -p,但没有 -N, -nd或 -NC, 重新下载文件
将导致新副本简单地覆盖旧副本。 添加 -NC 将防止这种情况
行为,而不是导致保留原始版本和任何更新的副本
要忽略的服务器。
运行 Wget 时 -N, 有还是没有 -r or -p, 决定是否
下载较新的文件副本取决于本地和远程时间戳和大小
文件。 -NC 不能同时指定 -N.
与 -O/--输出文档 仅当给定的输出文件不接受时才被接受
不存在。
请注意,当 -NC 指定后缀的文件 的.html or 。HTM 将被加载
从本地磁盘中提取并解析,就好像它们是从 Web 中检索到的一样。
--备份=备份
在(覆盖)写入文件之前,通过添加 .1 后缀(_1 on
VMS) 到文件名。 这样的备份文件被轮换到 .2, .3,等等,直到
备份 (并失去了更多)。
-c
- 继续
继续获取部分下载的文件。 当您想完成时,这很有用
下载由先前的 Wget 实例或其他程序启动的下载。 为了
实例:
WGET -C. ftp://sunsite.doc.ic.ac.uk/ls-lR.Z
如果有一个文件名 ls-lR.Z 在当前目录中,Wget 会假设它是
远程文件的第一部分,并会要求服务器继续
从等于本地文件长度的偏移量中检索。
请注意,如果您只想要当前的
如果连接在中途丢失,则调用 Wget 以重试下载文件
通过。 这是默认行为。 -c 只影响下载的恢复
开始 先 对 Wget 的调用,并且其本地文件仍在
周围。
没有 -c,前面的例子只是将远程文件下载到 ls-lR.Z.1,
离开被截断的 ls-lR.Z 单独存档。
从 Wget 1.7 开始,如果您使用 -c 在一个非空文件上,结果是
服务器不支持继续下载,Wget 会拒绝开始下载
从头开始,这将有效地破坏现有内容。 如果你真的想要
下载从头开始,删除文件。
同样从 Wget 1.7 开始,如果您使用 -c 在与文件大小相同的文件上
在服务器上,Wget 将拒绝下载文件并打印说明
信息。 当服务器上的文件小于本地文件时,也会发生同样的情况
(大概是因为自上次下载以来它在服务器上发生了更改
尝试)---因为“继续”没有意义,所以不会发生下载。
在硬币的另一面,同时使用 -c, 任何在服务器上较大的文件
比本地将被视为不完整的下载,只有“(长度(远程)-
length(local))" 字节将被下载并附加到本地文件的末尾。
在某些情况下,这种行为可能是可取的——例如,您可以使用 wget的 -c 至
只下载附加到数据收集或日志文件的新部分。
但是,如果服务器上的文件较大,因为它已经 变,而不是
只是 附加 到,你最终会得到一个乱码的文件。 wget 没有办法验证
本地文件确实是远程文件的有效前缀。 你需要成为
使用时尤其要注意这一点 -c 和这个结合 -r, 因为每个文件都会
被视为“不完整下载”候选者。
如果您尝试使用,您会得到一个乱码文件的另一个实例 -c 是如果你有一个
将“传输中断”字符串插入本地文件的蹩脚 HTTP 代理。 在
未来可能会添加一个“回滚”选项来处理这种情况。
需要注意的是 -c 仅适用于 FTP 服务器和支持
“范围”标题。
--开始位置=OFFSET
从零开始下载 OFFSET. 偏移量可以用字节表示,
带有“k”后缀的千字节,或带有“m”后缀的兆字节,等等。
--开始位置 有更高的优先级 - 继续。 何时 --开始位置 和 - 继续
都指定了,wget 将发出警告然后继续 - 继续 缺席。
需要服务器支持继续下载,否则 --开始位置 帮不了。
我们 -c 了解详情。
--进度=类型
选择您要使用的进度指示器的类型。 法律指标是“点”
和“酒吧”。
默认情况下使用“bar”指标。 它绘制一个 ASCII 进度条图形
(又名“温度计”显示)指示检索状态。 如果输出是
不是 TTY,默认情况下将使用“点”栏。
使用 --progress =点 切换到“点”显示。 它通过以下方式跟踪检索
在屏幕上打印点,每个点代表固定数量的下载数据。
进度 类型 也可以采用一个或多个参数。 参数因人而异
此 类型 被选中。 参数 类型 通过将它们附加到类型来传递
由冒号 (:) 分隔,如下所示: --进度=类型:parameter1:parameter2.
使用点检索时,您可以设置 样式 通过将类型指定为
点:样式. 不同的样式赋予一个点不同的含义。 与“默认”
style 每个点代表 1K,一个簇中有 50 个点,一行中有 XNUMX 个点。
“二进制”样式具有更“计算机”式的方向---8K 点,16 点簇
每行 48 个点(相当于 384K 行)。 “mega”风格适合
下载大文件---每个点代表检索到的64K,一个点有XNUMX个点
群集,每行 48 个点(因此每行包含 3M)。 如果“兆”还不够
那么你可以使用“giga”样式---每个点代表检索到的1M,有XNUMX个
一个簇中的点,每行 32 个点(所以每行包含 32M)。
--进度=栏,目前有两个可能的参数, 力 和 滚动.
当输出不是 TTY 时,进度条总是回落到“点”,即使
--进度=栏 在调用期间传递给 Wget。 此行为可以被覆盖
和使用“force”参数强制的“bar”输出作为 --进度=栏:力.
默认情况下, 酒吧 样式进度条从左到右滚动文件名
如果文件名超过分配的最大长度,则用于正在下载的文件
它的显示。 在某些情况下,例如 --进度=栏:力,可能不想
进度条中的滚动文件名。 通过传递“noscroll”参数,Wget
可以强制显示尽可能多的文件名而无需滚动浏览
它。
请注意,您可以使用中的“progress”命令设置默认样式 .wgetrc。 该
可以从命令行覆盖设置。 例如,强制 bar 输出
不滚动,使用 --progress=bar:force:noscroll.
--显示进度
强制 wget 以任何详细程度显示进度条。
默认情况下,wget 仅以详细模式显示进度条。 然而,一个人可能,
希望 wget 在屏幕上与任何其他进度条一起显示
详细模式,如 --无冗长 or - 安静的. 这通常是一个理想的属性,当
调用 wget 下载几个小/大文件。 在这种情况下,wget 可以
只需使用此参数调用即可在屏幕上获得更清晰的输出。
此选项还将强制将进度条打印到 斯特德 使用时,
在旁边 --日志文件 选项。
-N
--时间戳
打开时间戳。
--no-if-modified-since
不要发送 If-Modified-Since 标头 -N 模式。 发送初步 HEAD 请求
反而。 这仅在 -N 模式。
--不使用服务器时间戳
不要通过服务器上的时间戳设置本地文件的时间戳。
默认情况下,当一个文件被下载时,它的时间戳被设置为匹配那些来自
远程文件。 这允许使用 --时间戳 在随后的 wget 调用中。
然而,有时基于本地文件的时间戳是有用的
实际下载; 为此目的, --不使用服务器时间戳 选项已经
提供。
-S
--服务器响应
打印 HTTP 服务器发送的标头和 FTP 服务器发送的响应。
- 蜘蛛
使用此选项调用时,Wget 将表现为 Web 蜘蛛,这意味着
不会下载页面,只需检查它们是否在那里。 例如,您可以使用
Wget 检查您的书签:
wget --spider --force-html -i 书签.html
这个功能需要做更多的工作才能让 Wget 接近真实的功能
网络蜘蛛。
-T 秒
--超时=秒
将网络超时设置为 秒 秒。 这相当于指定
--dns-超时, --连接超时及 --读取超时,同时。
与网络交互时,Wget 可以检查超时并中止操作
如果时间太长。 这可以防止诸如挂起读取和无限读取之类的异常
连接。 默认情况下唯一启用的超时是 900 秒的读取超时。 环境
超时为 0 将完全禁用它。 除非你知道自己在做什么,否则最好
不要更改默认超时设置。
所有与超时相关的选项都接受十进制值以及亚秒值。 为了
例, 0.1 秒是合法(虽然不明智)的超时选择。 亚秒超时
可用于检查服务器响应时间或测试网络延迟。
--dns-超时=秒
将 DNS 查找超时设置为 秒 秒。 未完成的 DNS 查找
指定的时间将失败。 默认情况下,DNS 查找没有超时,其他
比由系统库实现的。
--连接超时=秒
将连接超时设置为 秒 秒。 需要更长的时间的 TCP 连接
建立将被中止。 默认情况下,没有连接超时,除此之外
由系统库实现。
--读取超时=秒
将读取(和写入)超时设置为 秒 秒。 这次超时的“时间”
指 闲置 次: 如果在下载过程中的任何时候没有收到更多数据
超过指定的秒数,读取失败并重新启动下载。
此选项不会直接影响整个下载的持续时间。
当然,远程服务器可能会选择比这更早终止连接
选项需要。 默认读取超时为 900 秒。
--限制率=量
将下载速度限制为 量 每秒字节数。 金额可以表示为
字节、千字节 k 后缀,或兆字节 m 后缀。 例如,
--限制速率=20k 将检索速率限制为 20KB/s。 这在以下情况下很有用
无论出于何种原因,您都不希望 Wget 消耗整个可用带宽。
此选项允许使用十进制数,通常与幂一起使用
后缀; 例如, --限制速率=2.5k 是一个合法的值。
请注意,Wget 通过睡眠适当的时间来实现限制
在网络读取花费的时间少于速率指定的时间之后。 最终这
策略会导致 TCP 传输减慢到大约指定的速率。
然而,达到这种平衡可能需要一些时间,所以不要感到惊讶
如果限制速率不适用于非常小的文件。
-w 秒
--等待=秒
在两次检索之间等待指定的秒数。 使用此选项是
推荐,因为它通过降低请求频率来减轻服务器负载。
可以使用“m”后缀以分钟为单位指定时间,而不是以秒为单位,在
使用“h”后缀表示小时,或使用“d”后缀表示天数。
如果网络或目标
主机已关闭,以便 Wget 可以等待足够长的时间以合理预期网络错误
在重试之前修复。 该函数指定的等待间隔为
受“--random-wait”影响,见。
--等待重试=秒
如果你不希望 Wget 在两者之间等待 每周 检索,但仅在重试之间
下载失败,您可以使用此选项。 Wget 将使用 线性 退避, 等待 1
给定文件第一次失败后的第二次,然后等待 2 秒后
该文件的第二次失败,最多可达最大数量 秒 您指定。
默认情况下,Wget 将假定值为 10 秒。
--随机等待
一些网站可能会执行日志分析来识别检索程序,例如 Wget
寻找请求之间时间的统计显着相似性。 这个
选项导致请求之间的时间在 0.5 和 1.5 之间变化 * 等待 秒
哪里 等待 被指定使用 - 等待 选项,以掩盖 Wget 的存在
从这样的分析。
2001 年出版的一篇关于流行消费平台开发的文章
提供了即时执行此分析的代码。 它的作者建议阻止在
确保自动检索程序被阻止的 C 类地址级别
更改 DHCP 提供的地址。
--随机等待 选项的灵感来自这个不明智的建议,以阻止许多
由于某个人的行为而从网站上分离的无关用户。
--无代理
即使定义了适当的 *_proxy 环境变量,也不要使用代理。
-Q 配额
--配额=配额
指定自动检索的下载配额。 该值可以以字节为单位指定
(默认),千字节(与 k 后缀)或兆字节(带有 m 后缀)。
请注意,配额永远不会影响下载单个文件。 所以如果你指定 wget的
-Q10k ftp://wuarchive.wustl.edu/ls-lR.gz, 全部 ls-lR.gz 将被下载。 这
即使在命令行上指定了多个 URL,也是如此。 但是,配额是
在递归检索或从输入文件检索时受到尊重。 因此你可以
安全输入 wget的 -Q2m -i 网站---超过配额时将中止下载。
将配额设置为 0 或 inf 无限下载配额。
--无 DNS 缓存
关闭缓存 DNS 查找。 通常,Wget 会记住它查看的 IP 地址
从 DNS 开始,因此它不必重复联系 DNS 服务器以获得相同的信息
(通常很小)它从中检索的主机集。 这个缓存只存在于内存中; 一种
new Wget run 会再次联系DNS。
然而,据报道,在某些情况下,不希望缓存
主机名,即使是像 Wget 这样的短期运行应用程序的持续时间。 有了这个
选项 Wget 发出新的 DNS 查找(更准确地说,是对“gethostbyname”的新调用或
"getaddrinfo") 每次建立新连接时。 请注意,此选项将
不能 影响可能由解析库或外部执行的缓存
缓存层,如 NSCD。
如果您不完全了解此选项的作用,您可能不需要它。
--限制文件名=模式
更改在远程 URL 中找到的字符在生成期间必须转义
本地文件名。 字符是 受限 通过这个选项被转义,即
替换为 %HH,其中 HH 是对应于的十六进制数
受限字符。 此选项也可用于强制所有字母大小写
是小写或大写。
默认情况下,Wget 将无效或不安全的字符转义为文件的一部分
操作系统上的名称,以及通常使用的控制字符
不可打印。 此选项对于更改这些默认值很有用,也许是因为您
正在下载到非本地分区,或者因为您想禁用转义
控制字符,或者您想进一步将字符限制为仅在
ASCII 值范围。
模式 是一组以逗号分隔的文本值。 可接受的值为 UNIX,
窗户, 无控制, ASCII, 小写及 大写。 价值 UNIX 和 窗户 ,那恭喜你,
互斥(一个将覆盖另一个),就像 小写 和 大写.
最后那些是特殊情况,因为它们不会改变字符集
被转义,而是强制将本地文件路径转换为较低或
大写。
当指定“unix”时,Wget 转义字符 / 和控制字符
范围 0--31 和 128--159。 这是类 Unix 操作系统的默认设置。
当给出“windows”时,Wget 对字符进行转义 \, |, /, :, ?, ", *, <, >及
0--31 和 128--159 范围内的控制字符。 除此之外,Wget 在
Windows 模式使用 + 而不是 : 在本地文件名中分隔主机和端口,以及
使用 @ 而不是 ? 将文件名的查询部分与其余部分分开。
因此,将保存为的 URL www.xemacs.org:4300/search.pl?input=blah in
Unix 模式将被保存为 www.xemacs.org+4300/search.pl@input=blah 在 Windows 模式下。
此模式是 Windows 上的默认模式。
如果指定 无控制, 那么控制字符的转义也被切换
离开。 当您下载名称包含的 URL 时,此选项可能有意义
UTF-8 字符,在可以以 UTF-8 格式保存和显示文件名的系统上(某些
UTF-8 字节序列中使用的可能字节值落在值的范围内
Wget 指定为“控件”)。
ASCII mode 用于指定其值超出范围的任何字节
ASCII 字符(即大于 127)应被转义。 这在以下情况下很有用
保存编码与本地使用的编码不匹配的文件名。
-4
--仅inet4
-6
--仅inet6
强制连接到 IPv4 或 IPv6 地址。 和 --仅inet4 or -4, wget 只会
连接到 IPv4 主机,忽略 DNS 中的 AAAA 记录,并拒绝连接到 IPv6
URL 中指定的地址。 相反,与 --仅inet6 or -6, wget 只会
连接到 IPv6 主机并忽略 A 记录和 IPv4 地址。
通常不需要这两个选项。 默认情况下,支持 IPv6 的 Wget 将使用
由主机的 DNS 记录指定的地址族。 如果 DNS 以两种方式响应
IPv4 和 IPv6 地址,Wget 将依次尝试它们,直到找到一个它可以
连接到。 (另请参阅下面描述的“--prefer-family”选项。)
这些选项可用于故意强制使用 IPv4 或 IPv6 地址
双家庭系统上的家庭,通常是为了帮助调试或处理损坏的
网络配置。 只有其中之一 --仅inet6 和 --仅inet4 可以指定在
同时。 在没有 IPv6 支持的情况下编译的 Wget 中这两个选项都不可用。
--prefer-family=无/IPv4/IPv6
当给定几个地址的选择时,连接到指定的地址
先解决家庭问题。 DNS 返回的地址顺序使用不变
默认。
这避免了在访问解析为
来自 IPv6 网络的 IPv4 和 IPv4 地址。 例如, www.kame.net 做出决议
至 2001:200:0:8002:203:47ff:fea5:3085 和 203.178.141.194. 当首选
family 为“IPv4”,首先使用 IPv4 地址; 当首选系列是“IPv6”时,
首先使用 IPv6 地址; 如果指定值为“none”,则地址顺序
由 DNS 返回的原样使用。
不比 -4 和 -6, 此选项不会禁止访问任何地址族,它只会
改变 秩序 其中访问地址。 还要注意重新排序
此选项执行的是 稳定---它不影响相同地址的顺序
家庭。 即所有 IPv4 地址和所有 IPv6 地址的相对顺序
在所有情况下保持完整。
--重试-connrefused
将“连接被拒绝”视为暂时性错误,然后重试。 通常 Wget 放弃
在 URL 上,因为连接失败而无法连接到该站点
作为服务器根本没有运行并且重试无济于事的标志。 这个
选项用于镜像不可靠的站点,这些站点的服务器往往会短暂消失
时间段。
--用户=用户
--密码=密码
指定用户名 用户 和密码 密码 用于 FTP 和 HTTP 文件检索。
这些参数可以使用 --ftp-用户 和 --ftp-密码 的选项
FTP 连接和 --http-用户 和 --http-密码 HTTP 连接的选项。
--询问密码
为每个建立的连接提示输入密码。 无法指定时
- 密码 正在使用,因为它们是互斥的。
--无iri
关闭国际化 URI (IRI) 支持。 用 --iri 打开它。 IRI 支持是
默认激活。
您可以使用“iri”命令设置 IRI 支持的默认状态 .wgetrc。 该
可以从命令行覆盖设置。
--本地编码=编码
强制使用 Wget 编码 作为默认系统编码。 这会影响 Wget
将指定为参数的 URL 从语言环境转换为 UTF-8 以支持 IRI。
Wget 使用函数“nl_langinfo()”然后使用“CHARSET”环境变量来
获取语言环境。 如果失败,则使用 ASCII。
您可以使用“local_encoding”命令设置默认的本地编码 .wgetrc.
可以从命令行覆盖该设置。
--远程编码=编码
强制使用 Wget 编码 作为默认的远程服务器编码。 这会影响如何
Wget 在递归过程中将文件中的 URI 从远程编码转换为 UTF-8
拿来。 此选项仅对 IRI 支持有用,用于解释非
ASCII 字符。
对于 HTTP,可以在 HTTP“Content-Type”标头和 HTML 中找到远程编码
“Content-Type http-equiv”元标记。
您可以使用“remoteencoding”命令设置默认编码 .wgetrc。 该
可以从命令行覆盖设置。
--取消链接
强制 Wget 取消链接文件而不是破坏现有文件。 这个选项很有用
用于下载到带有硬链接的目录。
目录 附加选项
-nd
--无目录
递归检索时不要创建目录层次结构。 有了这个
选项打开,所有文件将被保存到当前目录,没有
破坏(如果一个名字出现不止一次,文件名将获得扩展名 .n).
-x
--force-目录
相反的 -nd---创建一个目录层次结构,即使没有
否则创建。 例如 wget的 -x http://fly.srk.fer.hr/robots.txt 将保存
下载的文件到 Fly.srk.fer.hr/robots.txt.
-nH
--无主机目录
禁用主机前缀目录的生成。 默认情况下,调用 Wget -r
http://fly.srk.fer.hr/ 将创建一个以开头的目录结构
飞翔.srk.fer.hr/. 此选项禁用此类行为。
--协议目录
使用协议名称作为本地文件名的目录组件。 例如,与
这个选项, wget的 -r http://主持人 将保存到 http /主持人/ ... 而不仅仅是为了
主持人/ ....
--剪切目录=数
忽略 数 目录组件。 这对于获得细粒度的控制很有用
在将保存递归检索的目录上。
以目录为例 ftp://ftp.xemacs.org/pub/xemacs/. 如果你检索
它与 -r,它会在本地保存在 ftp.xemacs.org/pub/xemacs/。 虽然 -nH
选项可以删除 ftp.xemacs.org/ 部分,你仍然坚持 发布/xemacs。 这
在哪 --剪切目录 派上用场; 它使 Wget 无法“看到” 数 远程目录
成分。 这里有几个例子说明如何 --剪切目录 选项有效。
没有选项 -> ftp.xemacs.org/pub/xemacs/
-nH -> 发布/xemacs/
-nH --cut-dirs=1 -> xemacs/
-nH --cut-dirs=2 -> 。
--cut-dirs=1 -> ftp.xemacs.org/xemacs/
...
如果你只是想摆脱目录结构,这个选项类似于
的组合 -nd 和 -P。 然而,不像 -nd, --剪切目录 不输
子目录——例如,与 -nH --cut-dirs=1,以 Beta / 子目录将是
置于 xemacs/测试版,正如人们所期望的那样。
-P 字首
--目录前缀=字首
将目录前缀设置为 字首。 该 目录 字首 是所有其他的目录
文件和子目录将被保存到,即检索树的顶部。 这
默认是 . (当前目录)。
HTTP 附加选项
--默认页面=姓名
使用 姓名 作为未知文件名时的默认文件名(即,对于以
斜线),而不是 index.html的.
-E
--调整扩展
如果一个文件类型 应用程序/ xhtml + xml or text / html的 已下载并且 URL 已下载
不以正则表达式结尾 \.[Hh][Tt][Mm][Ll]?,这个选项会导致后缀 的.html
附加到本地文件名。 这很有用,例如,当您
镜像使用的远程站点 。ASP 页面,但您希望镜像页面是
可以在您的股票 Apache 服务器上查看。 另一个很好的用途是当你
下载 CGI 生成的材料。 像这样的网址 http://site.com/article.cgi?25 将
保存为 文章.cgi?25.html.
请注意,以这种方式更改的文件名将在您每次重新镜像时重新下载
一个站点,因为 Wget 无法判断本地 X.html 文件对应远程 URL X
(因为它还不知道 URL 产生类型的输出 text / html的 or
应用程序/ xhtml + xml.
从 1.12 版开始,Wget 还将确保任何下载的文件类型为 文字/ css
以后缀结尾 CSS。,并且该选项被重命名为 --html-扩展名,为了更好
反映其新行为。 旧的选项名称仍然可以接受,但现在应该是
被视为弃用。
在未来的某个时候,这个选项很可能会扩展到包括后缀
其他类型的内容,包括未被 Wget 解析的内容类型。
--http-用户=用户
--http-密码=密码
指定用户名 用户 和密码 密码 在 HTTP 服务器上。 根据
挑战的类型,Wget 将使用“基本”(不安全)、
“摘要”或 Windows“NTLM”身份验证方案。
另一种指定用户名和密码的方法是在 URL 本身中。 任一方法
向任何麻烦运行“ps”的人透露您的密码。 为了防止密码
从被看到,将它们存储在 .wgetrc or .netrc,并确保保护这些文件
来自其他用户的“chmod”。 如果密码真的很重要,请不要离开
它们位于这些文件中——编辑文件并在 Wget 完成后删除它们
开始下载。
--no-http-keep-alive
关闭 HTTP 下载的“保持活动”功能。 通常,Wget 会询问服务器
保持连接打开,以便当您从
同一个服务器,它们通过同一个 TCP 连接传输。 这样既节省时间又
同时减少了服务器的负载。
当由于某种原因持久(keep-alive)连接不可用时,此选项很有用
为您工作,例如由于服务器错误或由于服务器端无法
脚本来处理连接。
--无缓存
禁用服务器端缓存。 在这种情况下,Wget 将向远程服务器发送一个
适当的指令(编译指示: 无缓存) 从远程服务获取文件,
而不是返回缓存的版本。 这对于检索特别有用
并刷新代理服务器上的过时文档。
默认情况下允许缓存。
--无cookies
禁用cookies。 Cookies 是一种维护服务器端的机制
状态。 服务器使用“Set-Cookie”头向客户端发送一个 cookie,然后
客户端在进一步请求时使用相同的 cookie 进行响应。 由于 cookie 允许
服务器所有者跟踪访问者并让站点交换此信息,
有些人认为它们侵犯了隐私。 默认是使用cookies; 然而,
存储 默认情况下,cookies 不开启。
--加载cookies 文件
加载 cookie 从 文件 在第一次 HTTP 检索之前。 文件 是一个文本文件
Netscape 最初使用的格式 饼干.txt 文件中。
在镜像需要您的站点时,您通常会使用此选项
登录以访问其部分或全部内容。 登录过程通常有效
由 Web 服务器在接收和验证您的
证书。 当浏览器访问该部分时,cookie 会被重新发送
网站,从而证明您的身份。
镜像这样的站点需要 Wget 发送您的浏览器发送的相同 cookie
与网站沟通。 这是通过 --加载cookies---简单点Wget
到位置 饼干.txt 文件,它将向您发送相同的 cookie
浏览器会在相同的情况下发送。 不同的浏览器保留文本 cookie
不同位置的文件:
“网景 4.x。”
饼干在 〜/.netscape/cookies.txt.
“Mozilla 和 Netscape 6.x。”
Mozilla 的 cookie 文件也被命名为 饼干.txt, 位于某处
〜/.mozilla, 在您的个人资料目录中。 完整路径通常以
看起来有点像 〜/.mozilla/default/some-weird-string/cookies.txt.
“IE浏览器。”
您可以使用 File 菜单、Import 和
导出,导出 Cookie。 这已经用 Internet Explorer 5 测试过; 它不是
保证适用于早期版本。
“其它浏览器。”
如果您使用不同的浏览器来创建 cookie, --加载cookies 将
仅当您可以找到或生成 Netscape 格式的 cookie 文件时才有效
Wget 期待。
如果您不能使用 --加载cookies,可能还有一个选择。 如果你的
浏览器支持“cookie 管理器”,您可以使用它来查看使用的 cookie
访问您正在镜像的站点。 写下 cookie 的名称和值,以及
手动指示 Wget 发送这些 cookie,绕过“官方”cookie 支持:
wget --no-cookies --header "Cookie: = ”
--保存-cookies 文件
将 cookie 保存到 文件 在退出之前。 这不会保存已过期或
没有过期时间(所谓的“会话 cookie”),但也请参阅
--保留会话cookie.
--保留会话cookie
当指定时,导致 --保存-cookies 还可以保存会话 cookie。 会话 cookie
通常不会被保存,因为它们应该被保存在记忆中并在什么时候被遗忘
你退出浏览器。 保存它们在需要您登录或访问的站点上很有用
请先访问主页,然后才能访问某些页面。 使用此选项,多个 Wget
就站点而言,运行被视为单个浏览器会话。
由于 cookie 文件格式通常不携带会话 cookie,因此 Wget 将它们标记为
到期时间戳为 0。Wget 的 --加载cookies 将那些识别为会话
cookie,但它可能会混淆其他浏览器。 另请注意,如此加载的 cookie 将
被视为其他会话 cookie,这意味着如果您希望 --保存-cookies 至
再次保存它们,你必须使用 --保留会话cookie 一次。
--忽略长度
不幸的是,一些 HTTP 服务器(更准确地说是 CGI 程序)发送伪造的
“Content-Length”标题,这让 Wget 变得疯狂,因为它认为不是所有的文档
被检索。 如果 Wget 重试获取相同的文档,您可以发现这种综合症
一次又一次,每次都声称(否则正常)连接已关闭
在同一个字节上。
使用此选项,Wget 将忽略“Content-Length”标头——就好像它从不
存在。
--标题=标题行
提交 标题行 以及每个 HTTP 请求中的其余标头。 这
提供的标头按原样发送,这意味着它必须包含由分隔的名称和值
冒号,并且不得包含换行符。
您可以通过指定来定义多个额外的标题 --标题 不止一次。
wget --header='Accept-Charset: iso-8859-2' \
--header='Accept-Language: hr' \
http://fly.srk.fer.hr/
将空字符串指定为标头值将清除所有以前的用户-
定义的标题。
从 Wget 1.10 开始,此选项可用于覆盖以其他方式生成的标头
自动地。 此示例指示 Wget 连接到 localhost,但要指定
foo.bar 在“主机”标题中:
wget --header="主机:foo.bar" http://localhost/
在 1.10 之前的 Wget 版本中,此类使用 --标题 导致发送重复
标头。
--max-重定向=数
指定资源要遵循的最大重定向数。 默认是
20,这通常远远超过必要的。 然而,在那些你
想要允许更多(或更少),这是使用的选项。
--代理用户=用户
--代理密码=密码
指定用户名 用户 和密码 密码 用于代理服务器上的身份验证。
Wget 将使用“基本”身份验证方案对它们进行编码。
安全考虑类似于那些 --http-密码 也适用于这里。
--推荐人=网址
包括`引用者: 网址' HTTP 请求中的标头。 用于检索文档
假设它们总是被交互式网络检索的服务器端处理
浏览器,只有当 Referer 设置为指向的页面之一时才能正常显示
给他们。
--保存标题
将 HTTP 服务器发送的标头保存到文件中,在实际内容之前,
以空行作为分隔符。
-U 代理字符串
--用户代理=代理字符串
识别为 代理字符串 到 HTTP 服务器。
HTTP 协议允许客户端使用“用户代理”来标识自己
头字段。 这可以区分 WWW 软件,通常用于统计
目的或用于跟踪协议违规。 Wget 通常标识为
获取/版本, 版本 是 Wget 的当前版本号。
但是,众所周知,某些站点会强制执行定制输出的策略
根据“用户代理”提供的信息。 虽然这不是一个坏主意
从理论上讲,它已被服务器滥用,拒绝向客户端提供信息,而不是
(历史上)Netscape 或更常见的是 Microsoft Internet Explorer。 这个选项
允许您更改 Wget 发出的“User-Agent”行。 使用此选项是
气馁,除非你真的知道自己在做什么。
指定空用户代理 --user-agent="" 指示 Wget 不要发送
HTTP 请求中的“User-Agent”标头。
--发布数据=绳子
--后文件=文件
使用 POST 作为所有 HTTP 请求的方法,并在
请求体。 - 发布数据 发送 绳子 作为数据,而 --post-文件 发送
的内容 文件. 除此之外,它们的工作方式完全相同。 特别是,
他们 都 期望格式为“key1=value1&key2=value2”的内容,带有百分比编码
对于特殊字符; 唯一的区别是人们期望它的内容是
命令行参数,另一个从文件中接受其内容。 特别是,
--post-文件 is 不能 以表格附件形式传输文件:那些必须显示为
“键=值”数据(使用适当的百分比编码)就像其他所有东西一样。 获取
目前不支持“multipart/form-data”传输POST数据; 只要
“应用程序/x-www-form-urlencoded”。 只有其中之一 - 发布数据 和 --post-文件 应该
指定的。
请注意,wget 不要求内容为以下形式
“key1=value1&key2=value2”,它也不测试它。 Wget 将简单地传输
提供给它的任何数据。 然而,大多数服务器希望 POST 数据在
处理 HTML 表单时的上述格式。
当使用 --post-文件 选项,Wget 将文件视为
二进制文件,将发送 POST 请求中的每个字符而不剥离
尾随换行符或换页符。 文本中的任何其他控制字符将
也可以在 POST 请求中按原样发送。
请注意,Wget 需要提前知道 POST 数据的大小。
因此“--post-file”的参数必须是一个普通文件; 指定一个 FIFO 或
就像是 /开发/标准输入 不会工作。 不太清楚如何解决这个问题
HTTP/1.0 固有的限制。 虽然 HTTP/1.1 引入了 分块 转移那个
不需要提前知道请求长度,客户端不能使用分块
除非它知道它正在与 HTTP/1.1 服务器通信。 它不知道,直到它
收到一个响应,这反过来又要求请求已经完成——一个
鸡和蛋的问题。
注意:从 1.15 版本开始,如果在 POST 请求完成后重定向 Wget,
它的行为将取决于服务器返回的响应代码。 在一个
301 Moved Permanently、302 Moved Temporously 或 307 Temporary Redirect,Wget 会在
按照RFC2616,继续发送POST请求。 如果服务器想要
客户端在重定向时更改请求方法,它应该发送 303 See Other
响应代码。
此示例显示如何使用 POST 登录到服务器然后继续下载
所需的页面,大概只有授权用户才能访问:
# 登录服务器。 这只能进行一次。
wget --save-cookies cookies.txt \
--post-data 'user=foo&password=bar' \
http://server.com/auth.php
# 现在抓取我们关心的页面。
wget --load-cookies cookies.txt \
-p http://server.com/interesting/article.php
如果服务器使用会话 cookie 来跟踪用户身份验证,则上述内容将
不工作,因为 --保存-cookies 不会保存它们(浏览器也不会)和
饼干.txt 文件将为空。 在这种情况下使用 --保留会话cookie 随着
--保存-cookies 强制保存会话 cookie。
--方法=HTTP方法
出于 RESTful 脚本的目的,Wget 允许发送其他 HTTP 方法
无需使用显式设置它们 --header=标题行. Wget 将使用
之后传递给它的任何字符串 - 方法 作为服务器的 HTTP 方法。
--正文数据=数据串
--正文文件=数据文件
当需要将附加数据与方法一起发送到服务器时必须设置
指定使用 - 方法. --身体数据 发送 绳子 作为数据,而 --正文文件 发送
的内容 文件. 除此之外,它们的工作方式完全相同。
目前, --正文文件 is 不能 用于整体传输文件。 wget 没有
目前支持“multipart/form-data”传输数据; 只要
“应用程序/x-www-form-urlencoded”。 将来,这可能会改变,以便 wget
发送 --正文文件 作为一个完整的文件,而不是将其内容发送到
服务器。 请注意Wget需要提前知道BODY Data的内容,
因此有论点 --正文文件 应该是普通文件。 看 --post-文件 查阅
更详细的解释。 只有其中之一 --身体数据 和 --正文文件 应该
指定的。
如果在请求完成后重定向了 Wget,Wget 将挂起当前
方法并发送 GET 请求,直到重定向完成。 这对所有人都是如此
重定向响应代码,除了 307 Temporary Redirect 用于显式
指定请求方法应该 不能 改变。 另一个例外是当
方法设置为“POST”,在这种情况下指定的重定向规则
- 发布数据 被跟随。
--内容处置
如果设置为开启,则实验性(非全功能)支持
“Content-Disposition”标题已启用。 这目前可能会导致额外的回合-
访问服务器以获得“HEAD”请求,并且已知会遇到一些错误,
这就是默认情况下当前未启用的原因。
这个选项对于一些使用文件下载的 CGI 程序很有用
“Content-Disposition”标题描述下载文件的名称
是。
--内容错误
如果设置为 on,则当服务器响应时 wget 不会跳过内容
指示错误的 http 状态代码。
--信任服务器名称
如果设置为 on,则在重定向时,重定向 URL 的最后一个组件将是
用作本地文件名。 默认情况下,它使用原始中的最后一个组件
网址。
--auth-无挑战
如果给出这个选项,Wget 将发送基本的 HTTP 认证信息
(明文用户名和密码)用于所有请求,就像 Wget 1.10.2 及之前一样
默认情况下。
不推荐使用此选项,仅用于支持少数
晦涩的服务器,从不发送 HTTP 身份验证挑战,但接受
未经请求的身份验证信息,例如,除了基于表单的身份验证。
HTTPS (SSL/TLS) 附加选项
为了支持加密的 HTTP (HTTPS) 下载,必须使用外部 SSL 编译 Wget
图书馆。 当前默认值为 GnuTLS。 此外,Wget 还支持 HSTS(HTTP Strict
运输安全)。 如果在没有 SSL 支持的情况下编译 Wget,则这些选项都不是
可用。
--安全协议=协议
选择要使用的安全协议。 合法值是 汽车, SSLv2, SSLv3, TLSv1,
TLSv1_1, TLSv1_2 和 PFS。 如果 汽车 使用时,SSL 库可以自由
自动选择合适的协议,这是通过发送 TLSv1 来实现的
问候。 这是默认设置。
指定 SSLv2, SSLv3, TLSv1, TLSv1_1 or TLSv1_2 强制使用相应的
协议。 这在与旧的和有问题的 SSL 服务器实现交谈时很有用
这使得底层 SSL 库难以选择正确的协议
版本。 幸运的是,这样的服务器非常少见。
指定 PFS 强制使用所谓的完美前向安全密码
套房。 简而言之,PFS 通过为每个 SSL 创建一个一次性密钥来增加安全性
联系。 它对客户端和服务器有更多的 CPU 影响。 我们使用已知的
安全密码(例如无 MD4)和 TLS 协议。
--仅https
在递归模式下,仅遵循 HTTPS 链接。
-没有检查证书
不要根据可用的证书颁发机构检查服务器证书。
也不需要 URL 主机名与由
证书。
从 Wget 1.10 开始,默认是根据服务器的证书来验证服务器的证书
认可的证书颁发机构,中断 SSL 握手并中止
如果验证失败,请下载。 虽然这提供了更安全的下载,但它
确实会破坏与使用以前 Wget 版本的某些站点的互操作性,
特别是那些使用自签名、过期或以其他方式无效的证书。
此选项强制一种“不安全”的操作模式,将证书
验证错误转换为警告并允许您继续。
如果您遇到“证书验证”错误或说“通用名称
与请求的主机名不匹配”,您可以使用此选项绕过验证
并继续下载。 只有 使用 Free Introduction 选项 if 您 ,那恭喜你, 除此以外 确信 of
此 网站的 真实性, or if 您 真 别 关心 关于 此 合法性 of 它的
证书。 在以下情况下不检查证书几乎总是一个坏主意
传输机密或重要数据。 对于自签名/内部证书,
您应该下载证书并根据该证书进行验证,而不是强制执行此操作
不安全模式。 如果您真的确定不希望进行任何证书验证,
您可以指定 --check-certificate=quiet 告诉 wget 不要打印任何警告
无效的证书,尽管在大多数情况下这是错误的做法。
--证书=文件
使用存储在的客户端证书 文件. 这是需要的服务器
配置为需要来自连接到它们的客户端的证书。 通常一个
证书不是必需的,此开关是可选的。
--证书类型=类型
指定客户端证书的类型。 合法值是 质子交换膜 (默认情况下假设)
和 DER,也被称为 ASN1.
--私钥=文件
从中读取私钥 文件. 这允许您在文件中提供私钥
与证书分开。
--私钥类型=类型
指定私钥的类型。 接受的值为 质子交换膜 (默认)和 DER.
--ca-证书=文件
使用 文件 作为带有证书颁发机构 (“CA”) 包的文件,以验证
同行。 证书必须采用 PEM 格式。
如果没有这个选项,Wget 在系统指定的位置查找 CA 证书,
在 OpenSSL 安装时选择。
--ca-目录=目录
指定包含 PEM 格式的 CA 证书的目录。 每个文件包含一个
CA 证书,文件名基于从
证书。 这是通过处理证书目录来实现的
“c_rehash”实用程序随 OpenSSL 提供。 使用 --ca-目录 比
--ca-证书 当安装了许多证书时,因为它允许 Wget 获取
按需提供证书。
如果没有这个选项,Wget 在系统指定的位置查找 CA 证书,
在 OpenSSL 安装时选择。
--crl-文件=文件
指定一个 CRL 文件 文件. 这对于已通过的证书是必需的
被 CA 撤销。
--随机文件=文件
[仅限 OpenSSL 和 LibreSSL] 使用 文件 作为用于播种的随机数据的来源
系统上的伪随机数生成器 /开发/ urandom.
在这样的系统上,SSL 库需要一个外部随机源来初始化。
EGD 可以提供随机性(参见 --egd-文件 下面)或从外部读取
用户指定的来源。 如果未指定此选项,Wget 将查找随机
$RANDFILE 中的数据,如果未设置,则在 $HOME/.rnd.
如果您收到“无法播种 OpenSSL PRNG;禁用 SSL”。 错误,你应该
使用上述一些方法提供随机数据。
--egd-文件=文件
[仅限 OpenSSL] 使用 文件 作为 EGD 插座。 EGD代表 熵 搜集 守护进程,以
从各种不可预测的系统来源收集数据的用户空间程序和
使其可供其他可能需要它的程序使用。 加密软件,例如
SSL 库,需要非重复随机源来生成随机数
生成器用于生成加密强密钥。
OpenSSL 允许用户使用“RAND_FILE”指定他自己的熵源
环境变量。 如果此变量未设置,或者指定的文件未设置
产生足够的随机性,OpenSSL 将从指定的 EGD 套接字读取随机数据
使用此选项。
如果未指定此选项(并且未使用等效的启动命令),则 EGD
从不联系。 在支持的现代 Unix 系统上不需要 EGD
/开发/ urandom.
--无hsts
Wget 默认支持 HSTS(HTTP Strict Transport Security,RFC 6797)。 用
--无hsts 使 Wget 充当不符合 HSTS 的 UA。 因此,Wget 将
忽略所有“Strict-Transport-Security”标头,并且不会强制执行任何现有的
HSTS 政策。
--hsts-文件=文件
默认情况下,Wget 将其 HSTS 数据库存储在 〜/ .wget-hsts。 您可以使用 --hsts 文件 至
覆盖这个。 Wget 将使用提供的文件作为 HSTS 数据库。 这样的文件必须
符合 Wget 使用的正确 HSTS 数据库格式。 如果 Wget 无法解析
提供的文件,行为是未指定的。
Wget 的 HSTS 数据库是一个纯文本文件。 每行包含一个 HSTS 条目(即一个
已发布“Strict-Transport-Security”标头并因此具有
指定要应用的具体 HSTS 策略)。 以破折号(“#”)开头的行是
被 Wget 忽略。 请注意,尽管这种方便的人类可读的手
入侵 HSTS 数据库通常不是一个好主意。
HSTS 输入行由多个字段组成,这些字段由一个或多个空格分隔:
” SP [ ] SP 服务提供商服务提供商”
主机 和 端口 字段表示给定 HSTS 的主机名和端口
政策适用。 这 端口 字段可能为零,并且在大多数情况下会为零。 那
意味着在决定是否这样时将不考虑端口号
HSTS 策略应该应用于给定的请求(只有主机名将被
评估)。 什么时候 端口 不为零,目标主机名和端口都将
进行评估,并且仅当两者匹配时才会应用 HSTS 策略。 这个
功能仅用于测试/开发目的。 Wget 测试套件
(在 测试环境/) 使用显式端口创建 HSTS 数据库,目的是确保
Wget 的正确行为。 将 HSTS 策略应用于默认端口以外的端口
RFC 6797 不鼓励使用(请参阅附录 B“HSTS Policy 和 Same-
Origin Policy”)。因此,不应在生产中使用此功能
环境和 端口 通常为零。 最后三个字段的作用是什么
预计。 场 包含子域 可以是 1 或 0,它表示是否
目标域的子域也应该是给定 HSTS 策略的一部分。
创建 和 最大年龄 字段保存此类条目的时间戳值
创建(首先由 Wget 看到)和 HSTS 定义的值“max-age”,它说明了如何
如果 HSTS 策略保持活动状态,则以自发布以来经过的秒数来衡量
时间戳存储在 创建. 一旦过了那个时间,该 HSTS 政策将不再适用
不再有效,最终将从数据库中删除。
如果您通过以下方式提供自己的 HSTS 数据库 --hsts 文件, 请注意 Wget 可能会修改
如果请求的 HSTS 策略之间发生任何更改,则提供的文件
远程服务器和文件中的那些。 当 Wget 存在时,它有效地更新
HSTS 数据库通过用新条目重写数据库文件。
如果提供的文件不存在,Wget 将创建一个。 该文件将包含
新的 HSTS 条目。 如果没有生成 HSTS 条目(没有“Strict-Transport-Security”
标头由任何服务器发送)然后不会创建文件,甚至不会创建
空一个。 此行为适用于默认数据库文件 (〜/ .wget-hsts):
它不会被创建,直到某些服务器强制执行 HSTS 策略。
注意不要覆盖其他 Wget 进程在
同时通过 HSTS 数据库。 在文件上转储更新的 HSTS 条目之前,
Wget 将重新读取它并合并更改。
不鼓励使用自定义 HSTS 数据库和/或修改现有数据库。 为了
有关此类做法产生的潜在安全威胁的更多信息,请参阅
RFC 14 的第 6797 节“安全注意事项”,特别是第 14.9 节“创意
HSTS 策略存储的操作”。
--warc-文件=文件
使用 文件 作为目标 WARC 文件。
--warc-标题=绳子
使用 绳子 进入作为 warcinfo 记录。
--warc-最大尺寸=尺寸
将 WARC 文件的最大大小设置为 尺寸.
--warc-cdx
写入 CDX 索引文件。
--warc-dedup=文件
不要存储此 CDX 文件中列出的记录。
--no-warc-压缩
不要用 GZIP 压缩 WARC 文件。
--no-warc-摘要
不计算 SHA1 摘要。
--no-warc-keep-log
不要将日志文件存储在 WARC 记录中。
--warc-tempdir=DIR
指定 WARC 编写器创建的临时文件的位置。
则fTP 附加选项
--ftp-用户=用户
--ftp-密码=密码
指定用户名 用户 和密码 密码 在 FTP 服务器上。 没有这个,或者
对应的启动选项,密码默认为 -wget@, 通常用于
匿名FTP。
另一种指定用户名和密码的方法是在 URL 本身中。 任一方法
向任何麻烦运行“ps”的人透露您的密码。 为了防止密码
从被看到,将它们存储在 .wgetrc or .netrc,并确保保护这些文件
来自其他用户的“chmod”。 如果密码真的很重要,请不要离开
它们位于这些文件中——编辑文件并在 Wget 完成后删除它们
开始下载。
--不删除列表
不要删除临时 。清单 由 FTP 检索生成的文件。 一般,
这些文件包含从 FTP 服务器收到的原始目录列表。 不是
删除它们对于调试目的很有用,或者当您希望能够
轻松检查远程服务器目录的内容(例如,验证
您正在运行的镜像已完成)。
请注意,即使 Wget 写入此文件的已知文件名,这也不是
用户制作场景中的安全漏洞 。清单 一个符号链接 / etc / passwd文件
或其他东西,并要求“root”在他或她的目录中运行 Wget。 取决于
使用的选项,Wget 将拒绝写入 。清单制作
globbing/recursion/time-stamping 操作失败,否则符号链接将被删除
并替换为实际 。清单 文件,否则列表将被写入
.listing.number 文件中。
尽管这种情况不是问题,但是“root”永远不应该在
不可信用户的目录。 用户可以做一些像链接一样简单的事情
index.html的 至 / etc / passwd文件 并要求“root”运行 Wget -N or -r 所以文件将
被覆盖。
--无全局变量
关闭 FTP 通配。 Globbing 是指使用类似 shell 的特殊字符
(通配符), 喜欢 *, ?, [ 和 ] 从同一目录中检索多个文件
一下子,比如:
wget的 ftp://gnjilux.srk.fer.hr/*.msg
默认情况下,如果 URL 包含通配符,通配符将被打开。 这个
选项可用于永久打开或关闭通配。
您可能需要引用 URL 以保护它不被 shell 扩展。
Globbing 使 Wget 查找特定于系统的目录列表。 这是
为什么它目前仅适用于 Unix FTP 服务器(以及模拟 Unix "ls" 的服务器)
输出)。
--无被动 ftp
禁用使用 被动 FTP传输模式。 被动 FTP 要求
客户端连接到服务器以建立数据连接而不是另一个
一路走来。
如果机器直接连接到互联网,被动和主动 FTP
应该同样有效。 在大多数防火墙和 NAT 配置背后,被动 FTP 具有
更好的工作机会。 但是,在一些罕见的防火墙配置中,主动 FTP
当被动 FTP 不工作时实际上工作。 如果您怀疑是这种情况,请使用此
选项,或在您的 init 文件中设置“passive_ftp=off”。
--保留权限
保留远程文件权限而不是 umask 设置的权限。
--retr-符号链接
默认情况下,当递归检索 FTP 目录并且符号链接是
遇到,符号链接被遍历并被指向的文件被检索。
目前,Wget 不会遍历目录的符号链接来下载它们
递归,虽然这个功能可能会在未来添加。
什么时候 --retr-符号链接=否 指定,链接到的文件不会下载。 反而,
在本地文件系统上创建匹配的符号链接。 指向的文件将
除非此递归检索会单独遇到它,否则不会检索它
并下载了它。 此选项会带来安全风险,其中恶意 FTP
服务器可能会导致 Wget 通过
特制的 .LISTING 文件。
请注意,在检索文件(不是目录)时,因为它是在
命令行,而不是因为它被递归到,这个选项没有效果。
在这种情况下总是遍历符号链接。
FTPS 附加选项
--ftps-隐式
这个选项告诉 Wget 隐式使用 FTPS。 隐式 FTPS 包括初始化
SSL/TLS 从控制连接的一开始。 此选项不发送
“AUTH TLS”命令:它假设服务器说 FTPS 并直接启动一个
SSL/TLS 连接。 如果尝试成功,会话将继续,就像
常规 FTPS(发送“PBSZ”和“PROT”等)。 隐式 FTPS 不再是
FTPS 实现的要求,因此许多服务器可能不支持它。 如果
--ftps-隐式 已通过且未指定显式端口号,默认端口为
将使用隐式 FTPS,990,而不是“正常”的默认端口
(explicit) FTPS 与 FTP 相同,21。
--no-ftps-resume-ssl
不要在数据通道中恢复 SSL/TLS 会话。 启动数据时
连接,Wget 尝试恢复之前在控件中启动的 SSL/TLS 会话
联系。 SSL/TLS 会话恢复避免执行全新的握手
重用先前会话的 SSL/TLS 参数。 通常,FTPS 服务器想要
就是这样,所以 Wget 默认情况下会这样做。 然而,在极少数情况下,人们可能
想要在每个数据连接中启动一个全新的 SSL/TLS 会话。 这是什么
--no-ftps-resume-ssl 是为了。
--ftps-清除数据连接
所有数据连接都将采用纯文本格式。 只有控制连接
在 SSL/TLS 下。 Wget 将发送一个“PROT C”命令来实现这一点,这必须是
得到服务器的认可。
--ftps-回退到 ftp
如果目标服务器不支持 FTPS,则回退到 FTP。 出于安全原因,
默认情况下不声明此选项。 默认行为是退出
错误。 如果服务器没有成功回复初始的“AUTH TLS”命令,或者
在隐式 FTPS 的情况下,如果初始 SSL/TLS 连接尝试被拒绝,
认为这样的服务器不支持FTPS。
递归 恢复 附加选项
-r
-递归
打开递归检索。 默认最大深度为 5。
-l 深度
--级别=深度
指定递归最大深度级别 深度.
--删除之后
这个选项告诉 Wget 删除它下载的每个文件, after 这样做了。
它对于通过代理预取流行页面很有用,例如:
wget -r -nd --删除后 http://whatever.com/~popular/page/
-r 选项是递归检索,并且 -nd 不创建目录。
需要注意的是 --删除之后 删除本地机器上的文件。 它不发出
DELE 例如,远程 FTP 站点的命令。 还要注意,当 --删除之后 is
指定的, --转换链接 被忽略,所以 .orig 文件根本没有在
第一名。
-k
--转换链接
下载完成后,将文档中的链接转换成
适合本地观看。 这不仅会影响可见的超链接,还会影响任何
链接到外部内容的文档的一部分,例如嵌入的图像、链接到
样式表、非 HTML 内容的超链接等。
每个链接将通过以下两种方式之一进行更改:
· Wget下载的文件链接将改为参考
他们作为相对链接指向的文件。
示例:如果下载的文件 /foo/doc.html 链接到 /栏/img.gif所以
下载,然后链接 文档.html 将被修改为指向 ../栏/img.gif.
这种转换对于任意组合可靠地工作
目录。
· Wget未下载的文件链接将改为
包括主机名和它们指向的位置的绝对路径。
示例:如果下载的文件 /foo/doc.html 链接到 /栏/img.gif (或者
../栏/img.gif),然后是链接 文档.html 将被修改为指向
http://hostname/bar/img.gif.
因此,本地浏览工作可靠:如果下载了链接文件,则
链接将引用其本地名称; 如果没有下载,链接将参考
其完整的互联网地址,而不是提供一个断开的链接。 事实是
以前的链接转换为相对链接确保您可以移动下载的
层次结构到另一个目录。
请注意,只有在下载结束时,Wget 才能知道哪些链接已被
下载。 正因为如此,所做的工作 -k 将在所有结束时执行
下载。
--只转换文件
此选项仅转换 URL 的文件名部分,保留其余 URL
原封不动。 这个文件名部分有时被称为“基名”,尽管我们
避免在此处使用该术语以免引起混淆。
它与 --调整扩展,虽然这样
不强制耦合。 事实证明,用文件填充 Internet 缓存很有用
从不同的主机下载。
示例:如果某个链接指向 //foo.com/bar.cgi?xyz --调整扩展 断言
它的本地目的地是 ./foo.com/bar.cgi?xyz.css,然后链接
将被转换为 //foo.com/bar.cgi?xyz.css. 请注意,只有文件名部分具有
被修改。 URL 的其余部分保持不变,包括网络路径
("//") 否则将被 Wget 处理并转换为有效
方案(即“http://”)。
-K
--备份转换
转换文件时,请备份原始版本 .orig 后缀。 影响
的行为 -N.
-m
- 镜子
打开适合镜像的选项。 此选项打开递归和时间-
标记,设置无限递归深度并保留 FTP 目录列表。 这是
目前相当于 -r -N -l inf --不删除列表.
-p
--page-必要条件
此选项会导致 Wget 下载正确运行所需的所有文件
显示给定的 HTML 页面。 这包括内联图像、声音和
引用的样式表。
通常,在下载单个 HTML 页面时,可能需要的任何必要文档
需要正确显示它不会被下载。 使用 -r 连同 -l 可以帮助,
但由于 Wget 通常不区分外部和内联文档,
一个通常会留下缺少必要条件的“叶文件”。
例如,说文档 1.html 包含一个“ " 标签引用 1.gif 和
" " 标签指向外部文档 2.html. 比如说 2.html 是相似的,但是
它的形象是 2.gif 它链接到 3.html. 说这持续到某些任意
高数。
如果执行命令:
wget -r -l 2 http:// /1.html
然后 1.html, 1.gif, 2.html, 2.gif及 3.html 将被下载。 如你看到的,
3.html 没有必要 3.gif 因为 Wget 只是在计算
跃点(最多 2 个)远离 1.html 以确定在哪里停止递归。
但是,使用此命令:
wget -r -l 2 -p http:// /1.html
以上所有文件 和 3.html的必需品 3.gif 将被下载。 相似地,
wget -r -l 1 -p http:// /1.html
会引发 1.html, 1.gif, 2.html及 2.gif 要下载。 有人可能会认为:
wget -r -l 0 -p http:// /1.html
只会下载 1.html 和 1.gif,但不幸的是事实并非如此,因为
-l 0 相当于 -l inf---也就是无限递归。 下载单个 HTML
页面(或少数几个,都在命令行或在 -i 网址输入
文件)及其(或它们的)必要条件,只需离开 -r 和 -l:
wget -p http:// /1.html
请注意,Wget 的行为就像 -r 已被指定,但只有那个单页和
将下载其必需品。 从该页面到外部文档的链接将
不被遵循。 实际上,要下载单个页面及其所有必需品(即使
它们存在于不同的网站上),并确保该批次在本地正确显示,
除了 -p:
wget -E -H -k -K -p http:// /
为了结束这个话题,值得知道的是 Wget 的外部文档的想法
链接是在“ ”标签中指定的任何网址,“ " 标签,或 " " 标记其他
比 ” ”。
--严格评论
打开 HTML 注释的严格解析。 默认是在
第一次出现 - >.
根据规范,HTML 注释表示为 SGML 声明.
声明是特殊的标记,以 <! 并以...结束 >,如 <!文档类型
...>, 可能包含一对之间的评论 -- 分隔符。 HTML 注释是
“空声明”,没有任何非注释文本的 SGML 声明。 所以,
是一个有效的评论,所以是 <!--一个-- --二-->,但 不是。
另一方面,大多数 HTML 编写者不会将评论视为除了
文本以 <!-- 和 - >,这并不完全相同。 例如,某事
喜欢 只要破折号的数量是一个有效的评论
四的倍数 (!)。 如果不是,则评论在技术上持续到下一个 --,这
可能在文档的另一端。 正因为如此,许多流行的浏览器
完全忽略规范并实现用户所期望的:
评论以 <!-- 和 - >.
直到 1.9 版本,Wget 严格解释注释,导致链接丢失
在许多在浏览器中显示良好的网页中,但不幸的是
包含不合规的评论。 从 1.9 版本开始,Wget 加入了
实施“幼稚”评论的客户队伍,在
第一次出现 - >.
如果出于某种原因,您想要严格的注释解析,请使用此选项将其打开
上。
递归 接受/拒绝 附加选项
-A 访问列表 - 接受 访问列表
-R 拒绝列表 - 拒绝 拒绝列表
指定要接受或拒绝的文件名后缀或模式的逗号分隔列表。
请注意,如果有任何通配符, *, ?, [ or ],出现在一个元素中
访问列表 or 拒绝列表,它将被视为一个模式,而不是一个后缀。 在这
情况下,您必须将模式括在引号中以防止您的外壳扩展
它,就像在 -A “*.mp3” or -A '*.mp3'.
--接受正则表达式 正则表达式
--reject-正则表达式 正则表达式
指定一个正则表达式来接受或拒绝完整的 URL。
--正则表达式类型 正则类型
指定正则表达式类型。 可能的类型是 POSIX or PCRE. 请注意,要
能够使用 PCRE 类型,wget 必须在 libpcre 支持下编译。
-D 域列表
--域=域列表
设置要遵循的域。 域列表 是一个以逗号分隔的域列表。 笔记
它确实 不能 打开 -H.
--排除域 域列表
指定域 不能 被关注。
--跟随-ftp
遵循 HTML 文档中的 FTP 链接。 如果没有这个选项,Wget 将忽略所有
FTP 链接。
--跟随标签=名单
Wget 有一个 HTML 标签/属性对的内部表,它会在
在递归检索期间查找链接文档。 如果用户只想要一个
要考虑的那些标签的子集,但是,他或她应该指定这样的标签
以逗号分隔 名单 使用此选项。
--忽略标签=名单
这是相反的 --关注标签 选项。 在以下情况下跳过某些 HTML 标签
递归查找要下载的文档,以逗号分隔指定它们 名单.
过去,此选项是下载单个页面及其
必要条件,使用命令行,如:
wget --ignore-tags=a,area -H -k -K -r http:// /
但是,此选项的作者遇到了一个带有“
HREF="/">" 并意识到指定要忽略的标签是不够的。
不能只是告诉 Wget 忽略“ ",因为那样样式表就不会
下载。 现在下载单个页面及其必备条件的最佳选择是
专用 --page-必要条件 选项。
--忽略大小写
匹配文件和目录时忽略大小写。 这会影响 -R 的行为,
-A、-I 和 -X 选项,以及从 FTP 下载时实现的通配符
网站。 例如,使用此选项, -A “*。文本” 将匹配 文件1.txt,但也
文件2.TXT, 文件3.TxT, 等等。 例子中的引号是为了防止shell
从扩大格局。
-H
--span-主机
在进行递归检索时启用跨主机跨越。
-L
- 相对的
只关注相对链接。 用于检索特定主页而无需任何
分心,甚至不是来自同一主机的那些。
-I 名单
--包括目录=名单
指定下载时要遵循的以逗号分隔的目录列表。
要点 名单 可能包含通配符。
-X 名单
--排除目录=名单
指定要从下载中排除的目录的逗号分隔列表。
要点 名单 可能包含通配符。
-例如
--无父母
递归检索时不要上升到父目录。 这是一个
有用的选项,因为它保证只有文件 如下。 一定的等级将
被下载。
环境
Wget 支持 HTTP 和 FTP 检索的代理。 指定代理的标准方式
Wget 识别的位置正在使用以下环境变量:
HTTP_PROXY
https_proxy
如果设置,则 HTTP_PROXY 和 https_proxy 变量应包含
分别用于 HTTP 和 HTTPS 连接的代理。
ftp_代理
此变量应包含 FTP 连接代理的 URL。 这是很
常见的是 HTTP_PROXY 和 ftp_代理 设置为相同的 URL。
无代理
此变量应包含以逗号分隔的域扩展代理列表
不能 用于。 例如,如果值 无代理 is .mit.edu, 代理不会
用于从 MIT 检索文档。
退出 状态
如果遇到问题,Wget 可能会返回几个错误代码之一。
0 没有出现问题。
1 通用错误代码。
2 解析错误---例如解析命令行选项时, .wgetrc or
.netrc...
3 文件输入/输出错误。
4 网络故障。
5 SSL 验证失败。
6 用户名/密码认证失败。
7 协议错误。
8 服务器发出错误响应。
除了 0 和 1 之外,编号较低的退出代码优先于编号较高的退出代码
编号的,当遇到多种类型的错误时。
在 1.12 之前的 Wget 版本中,Wget 的退出状态往往没有帮助,并且
不一致。 递归下载几乎总是返回 0(成功),无论
遇到任何问题,非递归获取只返回相应的状态
到最近尝试的下载。
使用 onworks.net 服务在线使用 wget