递归 wget 给出“在给定范围内找到无效字符”

递归 wget 给出“在给定范围内找到无效字符”

尝试使用递归方式获取目录的内容

wget -r --no-parent [directory URL]

我收到以下错误

Warning: Invalid character is found in given range. A specified range MUST 
Warning: have only digits in 'start'-'stop'. The server's response to this 
Warning: request is uncertain.

我该如何解决?

URL 采用以下形式:

wget -r --no-parent https://prefix.domain.suffix.suffix/microsite/prefix.domain.suffix.suffix/

当我省略时,https://我从以下位置收到此消息wget

URL transformed to HTTPS due to an HSTS policy 

其次是:

HTTP request sent, awaiting response... 404 Not Found 2016-08-11 14:35:37 ERROR 404: Not Found.

答案1

wget实际上是否符号链接(或硬链接)到curl,如下所示关于超级用户的类似问题

一种简单的检查方法是不带参数运行它,如下所示。

首先,在我的系统上,我添加了一个链接来创建我认为您面临的场景,因此您不需要运行这些命令:

$ cd /opt/local/bin
$ ls -l wget curl
-rwxr-xr-x  1 root  admin  181204 May 30 03:36 curl
-rwxr-xr-x  1 root  admin  512932 Apr 30 16:42 wget

这是来自 wget 的使用错误消息:

$ ./wget
wget: missing URL
Usage: wget [OPTION]... [URL]...
Try `wget --help' for more options.

我将其移到一边并创建一个硬链接:

$ mv wget wget_save
$ ln curl wget

我可以通过按 inode 列出来确认它是一个链接:

$ ls -li | egrep '(curl|wget)'
68507780 -rwxr-xr-x     2 root      admin      181204 May 30 03:36 curl
68507780 -rwxr-xr-x     2 root      admin      181204 May 30 03:36 wget
67018610 -rwxr-xr-x     1 root      admin      512932 Apr 30 16:42 wget_save

然后我执行路径名为“wget”的符号链接二进制文件,但您可以看到使用消息表明它实际上是一个curl 二进制文件,而不是wget。

这就是我建议你测试的。不带参数运行 wget:

$ ./wget
curl: try 'curl --help' or 'curl --manual' for more information

错误的原因是您正在使用-r的独立选项wget,但由于可执行文件实际上是curl,因此它返回一个使用错误。

相关内容