标签: wget

wget递归下载,但我不想关注所有链接

我正在尝试使用 wget 镜像网站,但我不想下载大量文件,因此我使用 wget 的--reject选项不保存所有文件。但是,如果 wget 与我的拒绝选项匹配,wget 仍会下载所有文件,然后删除该文件。

如果某些链接与某些 shell 通配符匹配,是否有某种方法可以告诉 wget 不要遵循某些链接?如果 wget 不能做到这一点,是否还有其他一些常见的 linux 命令可以做到这一点?

linux mirror wget mirror-site

11
推荐指数
2
解决办法
1万
查看次数

通过 wget 使用客户端证书

我无法让 wget 使用客户端证书。该文档谈到了使用 --certificate 标志。

证书标志的使用是明确的,我将其设置为使用客户端证书的PEM版本。

但是当我连接时,出现以下错误:

HTTP request sent, awaiting response... Read error (error:14094410:SSL routines:
SSL3_READ_BYTES:sslv3 alert handshake failure; error:140940E5:SSL routines:SSL3_
READ_BYTES:ssl handshake failure) in headers.
Giving up.
Run Code Online (Sandbox Code Playgroud)

ssl 握手失败意味着客户端没有提供正确的客户端证书。仍然是我使用的客户端证书,可以在浏览器中使用。

注意:当我在服务器上禁用客户端身份验证时,wget 可以连接。注意:建议使用 curl,但我想避免切换。

wget ssl-certificate

10
推荐指数
2
解决办法
7万
查看次数

如何在这个上安装 wget?

我确实为 VMWare (Ubuntu 9.10)下载了RubyStack 2.0.3,但我无法在上面下载任何东西!似乎所有基本实用程序都丢失/搞砸了:

bitnami@linux:/var/tmp$ wget
-bash: wget: command not found

bitnami@linux:/var/tmp$ curl
curl: error while loading shared libraries: libcurl.so.4: cannot open shared obj
ect file: No such file or directory

bitnami@linux:/var/tmp$ man wget
-bash: man: command not found

bitnami@linux:/var/tmp$ sudo apt-get install wget
[sudo] password for bitnami:
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Couldn’t find package wget
Run Code Online (Sandbox Code Playgroud)

任何想法如何在这台机器上下载任何东西?(我没有物理访问它)

更新

你一定是在逗我...

bitnami@linux:~$ ftp
-bash: ftp: command not found

bitnami@linux:~$ …
Run Code Online (Sandbox Code Playgroud)

wget ubuntu-9.10

10
推荐指数
1
解决办法
5万
查看次数

如何刷新使用`wget --mirror`创建的在线网站镜像?

一个月前,我使用“ wget --mirror ”创建了我们公共网站的镜像,以便在即将到来的计划维护窗口期间临时使用。我们的主要网站运行 HTML、PHP 和 MySQL,但镜像只需要纯 HTML,不需要动态内容、PHP 或数据库。

以下命令将为我们的网站创建一个简单的在线镜像:

wget --mirror http://www.example.org/
Run Code Online (Sandbox Code Playgroud)

请注意,Wget 手册--mirror“目前相当于-r -N -l inf --no-remove-listing”(人类可读的等价物是`--recursive --timestamping --level=inf --no-remove-listing。

现在一个月过去了,网站的大部分内容都发生了变化。我希望 wget 检查所有页面,并下载任何已更改的页面。但是,这不起作用。

我的问题:

除了删除目录并重新运行镜像之外,我需要做什么来刷新网站的镜像?

http://www.example.org/index.html上的顶级文件没有改变,但有许多其他文件已经改变。

我以为我需要做的就是重新运行wget --mirror,因为--mirror暗示标志--recursive“指定递归下载”和--timestamping“除非比本地新,否则不要重新检索文件”。我认为这会检查所有页面并且只检索比我的本地副本更新的文件。我错了吗?

但是, wget 不会在第二次尝试时递归该站点。'wget --mirror' 会检查http://www.example.org/index.html,注意这个页面没有变化,然后停止。

--2010-06-29 10:14:07--  http://www.example.org/
Resolving www.example.org (www.example.org)... 10.10.6.100
Connecting to www.example.org (www.example.org)|10.10.6.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Server file no newer …
Run Code Online (Sandbox Code Playgroud)

unix wget

10
推荐指数
1
解决办法
9610
查看次数

如果 wget 的进度:mega 不再削减它该怎么办?

我有用于在队列中下载大文件的脚本。现在我真的很感激,如果我有一个像样的日志。指定-oor-a选项显然是为此特制的,但是在我编写这个“非常大的文件”时,正如联机帮助页所述,大小不再是 50m,而是千兆字节。--progress=dot:mega仅为 3GB 文件生成 1000 行输出(显然它将是 3000*80 点('.'))。所以我想知道:有没有办法自定义进度样式设置,以便我可以真正使用日志功能?

linux bash log-files logging wget

10
推荐指数
2
解决办法
2280
查看次数

PASV命令后wget ftp连接失败

在尝试将所有文​​件从一个 Web 服务器(“源”)传输到另一个(“目标”)时,wget 命令通过 FTP 进行连接,但无法在 PASV 命令之外继续进行。

我正在使用到“目标”服务器(共享主机上的 Linux 机器)的 SSH 连接来运行 wget 命令。

“源”服务器是微软服务器,我桌面上的FTP客户端没有问题。

这是我用来启动传输的命令:

wget -m ftp://username:'password'@sourceserver.com
Run Code Online (Sandbox Code Playgroud)

登录成功,然后发出这些命令:

==> SYST ... done.      ==> PWD ... done.
==> TYPE I ... done.    ==> CWD not needed.
==> ... couldn't connect to xxx.xxx.xxx.xxx port 1128: Connection timed out
Retrying.
Run Code Online (Sandbox Code Playgroud)

由于“无法连接”错误,每次重试时,它都会尝试不同的端口号(不是 21,它已经成功连接到)。我第一次记录错误时,它尝试了 487X 范围内的端口。

我不知道问题是在 Microsoft(“源”)服务器端还是在 Linux(“客户端”)端。

想法?

connection ftp wget

10
推荐指数
2
解决办法
2万
查看次数

如何允许 wget 覆盖文件

使用wget命令,无论我调用多少次,我如何允许/指示每次覆盖我的本地文件。

假设,我想从以下位置下载文件:http://server/folder/file1.html

在这里,无论何时我说wget http://server/folder/file1.html,我都希望它file1.html在我的本地系统中被覆盖,而不管它何时更改、已经下载等。我的意图/用例是,当我调用 wget 时,我非常确定我想要替换/覆盖现有文件。

我已经尝试了以下选项,但每个选项都用于/用于其他目的。

  1. -nc => --no-clobber
  2. -N => 打开时间戳
  3. -r => 打开递归检索

linux redhat command-line-interface centos wget

9
推荐指数
2
解决办法
18万
查看次数

curl 在 https 请求上成功,wget 没有

当我运行curl命令行

curl "https://example.com"
Run Code Online (Sandbox Code Playgroud)

它立即成功,返回请求的结果。

当我运行相同的 wget 命令时

wget https://example.com
Run Code Online (Sandbox Code Playgroud)

它最终因“无法建立 SSL 连接”而超时。没有任何具体的错误信息。它可以连接,但无法进行 SSL 握手。我试过了,--no-check-certificate但这没有什么区别 - 它似乎与超时有关。

然而:

wget http://example.com
Run Code Online (Sandbox Code Playgroud)

工作正常(HTTP 与 HTTPS)。

这也影响了PHP 的“ file()方法调用。

我的问题是,什么会导致 curl 成功检索页面(对于我们域中的所有站点)而不是 wget 或 php 解释器?这是周末的新问题,服务器之前很好。

(操作系统为 Red Hat Enterprise Linux 6.4)

ssl wget curl

9
推荐指数
2
解决办法
4万
查看次数

在 Cygwin Windows 中的 HTTPS URL 上运行 wget 时,如何修复证书错误?

我的 Windows 系统中安装了 Cygwin。我正在尝试wget为网站执行命令,但收到以下错误消息:

ERROR: The certificate of `example.com' is not trusted.
ERROR: The certificate of `example.com' hasn't got a known issuer.
Run Code Online (Sandbox Code Playgroud)

如何解决此问题 - 以便我可以继续进行。

cygwin wget

8
推荐指数
1
解决办法
3万
查看次数

将 30GB 的 tar 文件从一台远程服务器传输到另一台服务器 - 受磁盘空间限制

我有一个 38GB 的​​“Moodle”tar 文件,需要从旧服务器(共享主机)传输,我们可以将其称为“服务器 A”到新服务器(专用虚拟)或“服务器 B”。如果有帮助,我在 Mediatemple。

我已经将目录压缩并使用 wget 通过 SSH 将其传输到服务器 B,但是 - 这是一个微不足道的 100GB 包,而且我的磁盘容量为 96% - 这意味着我无法在服务器 B 上解压缩文件!有什么方法可以将这个巨大的文件从服务器 A 传输到服务器 B,同时保留权限并尽量减少文件损坏的可能性,这不会使我达到磁盘限制吗?

虽然到目前为止我已经花了很长时间做这件事,但如果有人能提供更好的主意,我愿意放弃我原来的计划——我将不胜感激!

files tar wget

8
推荐指数
2
解决办法
1294
查看次数