英语法语西班牙语

运行服务器 | Ubuntu > | Fedora > |


OnWorks 网站图标

wget - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 wget

这是 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

大多数不接受参数的选项是 布尔 选项,之所以如此命名是因为它们
可以使用是或否(“布尔值”)变量捕获状态。 例如, --follow-ftp
告诉 Wget 跟随来自 HTML 文件的 FTP 链接,另一方面, --no-glob 告诉它
不要在 FTP URL 上执行文件通配。 布尔选项是 肯定 or
(以。。。开始 - 不要)。 所有这些选项共享几个属性。

除非另有说明,否则假定默认行为与
选项完成。 例如,记录在案的存在 --follow-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。 在那里面
如果您可能遇到相关链接的问题,您可以通过添加来解决
网址">" 到文件或通过指定 --base=网址 在命令行上。

如果 文件 是外部的,文档将被自动视为 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 网址
--base=网址
使用解决相对链接 网址 作为参考点,在阅读链接时
通过指定的 HTML 文件 -i/- 输入文件 选项(连同 --force-html
当输入文件是从将其描述为 HTML 的服务器远程获取时)。 这是
相当于 HTML 输入文件中存在“BASE”标签,其中 网址 作为
“href”属性的值。

例如,如果您指定 http://foo/bar/a.html 提供 网址, 并且 Wget 读取
../baz/b.html 从输入文件,它将被解析为 http://foo/baz/b.html.

--配置=文件
指定要使用的启动文件的位置。

--rejected-log=日志文件
将所有 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
--no-clobber
如果在同一目录中多次下载文件,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 模式。

--no-use-server-timestamps
不要通过服务器上的时间戳设置本地文件的时间戳。

默认情况下,当一个文件被下载时,它的时间戳被设置为匹配那些来自
远程文件。 这允许使用 --时间戳 在随后的 wget 调用中。
然而,有时基于本地文件的时间戳是有用的
实际下载; 为此目的, --no-use-server-timestamps 选项已经
提供。

-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 秒。

--limit-rate=
将下载速度限制为 每秒字节数。 金额可以表示为
字节、千字节 k 后缀,或兆字节 m 后缀。 例如,
--limit-rate=20k 将检索速率限制为 20KB/s。 这在以下情况下很有用
无论出于何种原因,您都不希望 Wget 消耗整个可用带宽。

此选项允许使用十进制数,通常与幂一起使用
后缀; 例如, --limit-rate=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 提供的地址。

CSZ --随机等待 选项的灵感来自这个不明智的建议,以阻止许多
由于某个人的行为而从网站上分离的无关用户。

--无代理
即使定义了适当的 *_proxy 环境变量,也不要使用代理。

-Q 配额
--配额=配额
指定自动检索的下载配额。 该值可以以字节为单位指定
(默认),千字节(与 k 后缀)或兆字节(带有 m 后缀)。

请注意,配额永远不会影响下载单个文件。 所以如果你指定 wget的
-Q10k ftp://wuarchive.wustl.edu/ls-lR.gz, 全部 ls-lR.gz 将被下载。 这
即使在命令行上指定了多个 URL,也是如此。 但是,配额是
在递归检索或从输入文件检索时受到尊重。 因此你可以
安全输入 wget的 -Q2m -i 网站---超过配额时将中止下载。

将配额设置为 0 或 INF 无限下载配额。

--no-dns-cache
关闭缓存 DNS 查找。 通常,Wget 会记住它查看的 IP 地址
从 DNS 开始,因此它不必重复联系 DNS 服务器以获得相同的信息
(通常很小)它从中检索的主机集。 这个缓存只存在于内存中; 一种
new Wget run 会再次联系DNS。

然而,据报道,在某些情况下,不希望缓存
主机名,即使是像 Wget 这样的短期运行应用程序的持续时间。 有了这个
选项 Wget 发出新的 DNS 查找(更准确地说,是对“gethostbyname”的新调用或
"getaddrinfo") 每次建立新连接时。 请注意,此选项将
不能 影响可能由解析库或外部执行的缓存
缓存层,如 NSCD。

如果您不完全了解此选项的作用,您可能不需要它。

--restrict-file-names=模式
更改在远程 URL 中找到的字符在生成期间必须转义
本地文件名。 字符是 受限 通过这个选项被转义,即
替换为 %HH,其中 HH 是对应于的十六进制数
受限字符。 此选项也可用于强制所有字母大小写
是小写或大写。

默认情况下,Wget 将无效或不安全的字符转义为文件的一部分
操作系统上的名称,以及通常使用的控制字符
不可打印。 此选项对于更改这些默认值很有用,也许是因为您
正在下载到非本地分区,或者因为您想禁用转义
控制字符,或者您想进一步将字符限制为仅在
ASCII 值范围。

CSZ 模式 是一组以逗号分隔的文本值。 可接受的值为 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 指定为“控件”)。

CSZ ASCII mode 用于指定其值超出范围的任何字节
ASCII 字符(即大于 127)应被转义。 这在以下情况下很有用
保存编码与本地使用的编码不匹配的文件名。

-4
--inet4-only
-6
--inet6-only
强制连接到 IPv4 或 IPv6 地址。 和 --inet4-only or -4, wget 只会
连接到 IPv4 主机,忽略 DNS 中的 AAAA 记录,并拒绝连接到 IPv6
URL 中指定的地址。 相反,与 --inet6-only or -6, wget 只会
连接到 IPv6 主机并忽略 A 记录和 IPv4 地址。

通常不需要这两个选项。 默认情况下,支持 IPv6 的 Wget 将使用
由主机的 DNS 记录指定的地址族。 如果 DNS 以两种方式响应
IPv4 和 IPv6 地址,Wget 将依次尝试它们,直到找到一个它可以
连接到。 (另请参阅下面描述的“--prefer-family”选项。)

这些选项可用于故意强制使用 IPv4 或 IPv6 地址
双家庭系统上的家庭,通常是为了帮助调试或处理损坏的
网络配置。 只有其中之一 --inet6-only--inet4-only 可以指定在
同时。 在没有 IPv6 支持的情况下编译的 Wget 中这两个选项都不可用。

--prefer-family=none/IPv4/IPv6
当给定几个地址的选择时,连接到指定的地址
先解决家庭问题。 DNS 返回的地址顺序使用不变
默认。

这避免了在访问解析为
来自 IPv6 网络的 IPv4 和 IPv4 地址。 例如, www.kame.net 做出决议
2001:200:0:8002:203:47ff:fea5:3085203.178.141.194. 当首选
family 为“IPv4”,首先使用 IPv4 地址; 当首选系列是“IPv6”时,
首先使用 IPv6 地址; 如果指定值为“none”,则地址顺序
由 DNS 返回的原样使用。

不比 -4-6, 此选项不会禁止访问任何地址族,它只会
改变 秩序 其中访问地址。 还要注意重新排序
此选项执行的是 稳定---它不影响相同地址的顺序
家庭。 即所有 IPv4 地址和所有 IPv6 地址的相对顺序
在所有情况下保持完整。

--retry-connrefused
将“连接被拒绝”视为暂时性错误,然后重试。 通常 Wget 放弃
在 URL 上,因为连接失败而无法连接到该站点
作为服务器根本没有运行并且重试无济于事的标志。 这个
选项用于镜像不可靠的站点,这些站点的服务器往往会短暂消失
时间段。

--用户=用户
--密码=密码
指定用户名 用户 和密码 密码 用于 FTP 和 HTTP 文件检索。
这些参数可以使用 --ftp-用户--ftp-密码 的选项
FTP 连接和 --http-用户--http-密码 HTTP 连接的选项。

--询问密码
为每个建立的连接提示输入密码。 无法指定时
- 密码 正在使用,因为它们是互斥的。

--no-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/ 将创建一个以开头的目录结构
fly.srk.fer.hr/. 此选项禁用此类行为。

--协议目录
使用协议名称作为本地文件名的目录组件。 例如,与
这个选项, wget的 -r http://主持人 将保存到 http /主持人/ ... 而不仅仅是为了
主持人/ ....

--cut-dirs=
忽略 目录组件。 这对于获得细粒度的控制很有用
在将保存递归检索的目录上。

以目录为例 ftp://ftp.xemacs.org/pub/xemacs/. 如果你检索
它与 -r,它会在本地保存在 ftp.xemacs.org/pub/xemacs/。 虽然 -nH
选项可以删除 ftp.xemacs.org/ 部分,你仍然坚持 发布/xemacs。 这
在哪 --cut-dirs 派上用场; 它使 Wget 无法“看到” 远程目录
成分。 这里有几个例子说明如何 --cut-dirs 选项有效。

没有选项 -> 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, --cut-dirs 不输
子目录——例如,与 -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 将向远程服务器发送一个
适当的指令(编译指示: 无缓存) 从远程服务获取文件,
而不是返回缓存的版本。 这对于检索特别有用
并刷新代理服务器上的过时文档。

默认情况下允许缓存。

--no-cookies
禁用cookies。 Cookies 是一种维护服务器端的机制
状态。 服务器使用“Set-Cookie”头向客户端发送一个 cookie,然后
客户端在进一步请求时使用相同的 cookie 进行响应。 由于 cookie 允许
服务器所有者跟踪访问者并让站点交换此信息,
有些人认为它们侵犯了隐私。 默认是使用cookies; 然而,
存储 默认情况下,cookies 不开启。

--load-cookies 文件
加载 cookie 从 文件 在第一次 HTTP 检索之前。 文件 是一个文本文件
Netscape 最初使用的格式 饼干.txt 文件中。

在镜像需要您的站点时,您通常会使用此选项
登录以访问其部分或全部内容。 登录过程通常有效
由 Web 服务器在接收和验证您的
证书。 当浏览器访问该部分时,cookie 会被重新发送
网站,从而证明您的身份。

镜像这样的站点需要 Wget 发送您的浏览器发送的相同 cookie
与网站沟通。 这是通过 --load-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, --load-cookies
仅当您可以找到或生成 Netscape 格式的 cookie 文件时才有效
Wget 期待。

如果您不能使用 --load-cookies,可能还有一个选择。 如果你的
浏览器支持“cookie 管理器”,您可以使用它来查看使用的 cookie
访问您正在镜像的站点。 写下 cookie 的名称和值,以及
手动指示 Wget 发送这些 cookie,绕过“官方”cookie 支持:

wget --no-cookies --header "Cookie: = ”

--保存-cookies 文件
将 cookie 保存到 文件 在退出之前。 这不会保存已过期或
没有过期时间(所谓的“会话 cookie”),但也请参阅
--keep-session-cookies.

--keep-session-cookies
当指定时,导致 --保存-cookies 还可以保存会话 cookie。 会话 cookie
通常不会被保存,因为它们应该被保存在记忆中并在什么时候被遗忘
你退出浏览器。 保存它们在需要您登录或访问的站点上很有用
请先访问主页,然后才能访问某些页面。 使用此选项,多个 Wget
就站点而言,运行被视为单个浏览器会话。

由于 cookie 文件格式通常不携带会话 cookie,因此 Wget 将它们标记为
到期时间戳为 0。Wget 的 --load-cookies 将那些识别为会话
cookie,但它可能会混淆其他浏览器。 另请注意,如此加载的 cookie 将
被视为其他会话 cookie,这意味着如果您希望 --保存-cookies
再次保存它们,你必须使用 --keep-session-cookies 一次。

--忽略长度
不幸的是,一些 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-data=绳子
--post-file=文件
使用 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 文件将为空。 在这种情况下使用 --keep-session-cookies 随着
--保存-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-no-challenge
如果给出这个选项,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_2PFS。 如果 汽车 使用时,SSL 库可以自由
自动选择合适的协议,这是通过发送 TLSv1 来实现的
问候。 这是默认设置。

指定 SSLv2, SSLv3, TLSv1, TLSv1_1 or TLSv1_2 强制使用相应的
协议。 这在与旧的和有问题的 SSL 服务器实现交谈时很有用
这使得底层 SSL 库难以选择正确的协议
版本。 幸运的是,这样的服务器非常少见。

指定 PFS 强制使用所谓的完美前向安全密码
套房。 简而言之,PFS 通过为每个 SSL 创建一个一次性密钥来增加安全性
联系。 它对客户端和服务器有更多的 CPU 影响。 我们使用已知的
安全密码(例如无 MD4)和 TLS 协议。

--https-only
在递归模式下,仅遵循 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.

--no-hsts
Wget 默认支持 HSTS(HTTP Strict Transport Security,RFC 6797)。 用
--no-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 服务提供商服务提供商”

CSZ 主机端口 字段表示给定 HSTS 的主机名和端口
政策适用。 这 端口 字段可能为零,并且在大多数情况下会为零。 那
意味着在决定是否这样时将不考虑端口号
HSTS 策略应该应用于给定的请求(只有主机名将被
评估)。 什么时候 端口 不为零,目标主机名和端口都将
进行评估,并且仅当两者匹配时才会应用 HSTS 策略。 这个
功能仅用于测试/开发目的。 Wget 测试套件
(在 测试环境/) 使用显式端口创建 HSTS 数据库,目的是确保
Wget 的正确行为。 将 HSTS 策略应用于默认端口以外的端口
RFC 6797 不鼓励使用(请参阅附录 B“HSTS Policy 和 Same-
Origin Policy”)。因此,不应在生产中使用此功能
环境和 端口 通常为零。 最后三个字段的作用是什么
预计。 场 包含子域 可以是 1 或 0,它表示是否
目标域的子域也应该是给定 HSTS 策略的一部分。
CSZ 创建最大年龄 字段保存此类条目的时间戳值
创建(首先由 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-header=绳子
使用方法 绳子 进入作为 warcinfo 记录。

--warc-最大尺寸=尺寸
将 WARC 文件的最大大小设置为 尺寸.

--warc-cdx
写入 CDX 索引文件。

--warc-dedup=文件
不要存储此 CDX 文件中列出的记录。

--no-warc-压缩
不要用 GZIP 压缩 WARC 文件。

--no-warc-digests
不计算 SHA1 摘要。

--no-warc-keep-log
不要将日志文件存储在 WARC 记录中。

--warc-tempdir=DIR
指定 WARC 编写器创建的临时文件的位置。

则fTP 附加选项
--ftp-用户=用户
--ftp-密码=密码
指定用户名 用户 和密码 密码 在 FTP 服务器上。 没有这个,或者
对应的启动选项,密码默认为 -wget@, 通常用于
匿名FTP。

另一种指定用户名和密码的方法是在 URL 本身中。 任一方法
向任何麻烦运行“ps”的人透露您的密码。 为了防止密码
从被看到,将它们存储在 .wgetrc or .netrc,并确保保护这些文件
来自其他用户的“chmod”。 如果密码真的很重要,请不要离开
它们位于这些文件中——编辑文件并在 Wget 完成后删除它们
开始下载。

--no-remove-listing
不要删除临时 。清单 由 FTP 检索生成的文件。 一般,
这些文件包含从 FTP 服务器收到的原始目录列表。 不是
删除它们对于调试目的很有用,或者当您希望能够
轻松检查远程服务器目录的内容(例如,验证
您正在运行的镜像已完成)。

请注意,即使 Wget 写入此文件的已知文件名,这也不是
用户制作场景中的安全漏洞 。清单 一个符号链接 / etc / passwd文件
或其他东西,并要求“root”在他或她的目录中运行 Wget。 取决于
使用的选项,Wget 将拒绝写入 。清单制作
globbing/recursion/time-stamping 操作失败,否则符号链接将被删除
并替换为实际 。清单 文件,否则列表将被写入
.listing.number 文件中。

尽管这种情况不是问题,但是“root”永远不应该在
不可信用户的目录。 用户可以做一些像链接一样简单的事情
index.html的/ etc / passwd文件 并要求“root”运行 Wget -N or -r 所以文件将
被覆盖。

--no-glob
关闭 FTP 通配。 Globbing 是指使用类似 shell 的特殊字符
(通配符), 喜欢 *, ?, [] 从同一目录中检索多个文件
一下子,比如:

wget的 ftp://gnjilux.srk.fer.hr/*.msg

默认情况下,如果 URL 包含通配符,通配​​符将被打开。 这个
选项可用于永久打开或关闭通配。

您可能需要引用 URL 以保护它不被 shell 扩展。
Globbing 使 Wget 查找特定于系统的目录列表。 这是
为什么它目前仅适用于 Unix FTP 服务器(以及模拟 Unix "ls" 的服务器)
输出)。

--no-passive-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-clear-data-connection
所有数据连接都将采用纯文本格式。 只有控制连接
在 SSL/TLS 下。 Wget 将发送一个“PROT C”命令来实现这一点,这必须是
得到服务器的认可。

--ftps-fallback-to-ftp
如果目标服务器不支持 FTPS,则回退到 FTP。 出于安全原因,
默认情况下不声明此选项。 默认行为是退出
错误。 如果服务器没有成功回复初始的“AUTH TLS”命令,或者
在隐式 FTPS 的情况下,如果初始 SSL/TLS 连接尝试被拒绝,
认为这样的服务器不支持FTPS。

递归 恢复 附加选项
-r
-递归
打开递归检索。 默认最大深度为 5。

-l 深度
--级别=深度
指定递归最大深度级别 深度.

--delete-after
这个选项告诉 Wget 删除它下载的每个文件, after 这样做了。
它对于通过代理预取流行页面很有用,例如:

wget -r -nd --delete-after http://whatever.com/~popular/page/

CSZ -r 选项是递归检索,并且 -nd 不创建目录。

需要注意的是 --delete-after 删除本地机器上的文件。 它不发出
DELE 例如,远程 FTP 站点的命令。 还要注意,当 --delete-after is
指定的, --转换链接 被忽略,所以 .orig 文件根本没有在
第一名。

-k
--转换链接
下载完成后,将文档中的链接转换成
适合本地观看。 这不仅会影响可见的超链接,还会影响任何
链接到外部内容的文档的一部分,例如嵌入的图像、链接到
样式表、非 HTML 内容的超链接等。

每个链接将通过以下两种方式之一进行更改:

· Wget下载的文件链接将改为参考
他们作为相对链接指向的文件。

示例:如果下载的文件 /foo/doc.html 链接到 /bar/img.gif所以
下载,然后链接 文档.html 将被修改为指向 ../bar/img.gif.
这种转换对于任意组合可靠地工作
目录。

· Wget未下载的文件链接将改为
包括主机名和它们指向的位置的绝对路径。

示例:如果下载的文件 /foo/doc.html 链接到 /bar/img.gif (或者
../bar/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 --no-remove-listing.

-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.gif3.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.html2.gif 要下载。 有人可能会认为:

wget -r -l 0 -p http:// /1.html

只会下载 1.html1.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 声明.
声明是特殊的标记,以 <! 并以...结束 >,如 <!DOCTYPE
...>, 可能包含一对之间的评论 -- 分隔符。 HTML 注释是
“空声明”,没有任何非注释文本的 SGML 声明。 所以,
是一个有效的评论,所以是 <!--one-- --二-->,但 不是。

另一方面,大多数 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.

--排除域 域列表
指定域 不能 被关注。

--follow-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 名单
--排除目录=名单
指定要从下载中排除的目录的逗号分隔列表。
要点 名单 可能包含通配符。

-np
--无父母
递归检索时不要上升到父目录。 这是一个
有用的选项,因为它保证只有文件 的介绍 一定的等级将
被下载。

环境


Wget 支持 HTTP 和 FTP 检索的代理。 指定代理的标准方式
Wget 识别的位置正在使用以下环境变量:

HTTP_PROXY
https_proxy
如果设置,则 HTTP_PROXYhttps_proxy 变量应包含
分别用于 HTTP 和 HTTPS 连接的代理。

ftp_proxy
此变量应包含 FTP 连接代理的 URL。 这是很
常见的是 HTTP_PROXYftp_proxy 设置为相同的 URL。

no_proxy
此变量应包含以逗号分隔的域扩展代理列表
不能 用于。 例如,如果值 no_proxy 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


Ad


Ad