wget 递归 returns 错误请求
wget recursive returns BAD REQUEST
我试过使用 wget
从不同的子目录下载文件
wget -r -nd --no-parent -e robots=off --auth-no-challenge --user=myusr --ask-password https://myexdomain.com/dir/subdir/
而且它没有任何问题。
然而,当我对上一级目录进行 wget 调用时
wget -r -nd --no-parent -e robots=off --auth-no-challenge --user=myusr --ask-password https://myexdomain.com/dir/
wget returns 400: 错误请求
知道为什么吗?
HTTP 错误 400 相当普遍,通常与客户端请求的格式有关。如果您不提供有问题的实际网站供我们测试,则很难猜测。不过,这里有一些猜测:
它在纯 http 上工作正常但在 https 上不工作吗?如果是这样,可能与安全策略有关。
您是否使用防火墙、路由器或常驻防病毒软件来检查数据包?如果是这样,它可能正在更改数据包结构使其无效。如果你在一个更大的网络上,你和有问题的主机之间是否有这样的设备(tracert 会帮助你弄清楚)。
您可以访问此主机服务器吗?如果是这样,您能否创建新目录并测试它失败的确切条件?是一直在one-directory-below-root级别吗?
您将机器人排除在外,这有时会很好,但也可能会根据上下文触发来自服务器的不同响应。您是否在没有机器人排除的情况下进行了测试?
您是否尝试过使用不同的 user-agent?一些服务器对 wget user-agents 的响应不同。您可以在 web-browser 中访问这些文件吗?使用卷曲?或者在您的 wget 命令中使用 --user-agent 指定不同的 user-agent?
如果 none 有效,请告诉我们额外测试的结果。
我试过使用 wget
从不同的子目录下载文件wget -r -nd --no-parent -e robots=off --auth-no-challenge --user=myusr --ask-password https://myexdomain.com/dir/subdir/
而且它没有任何问题。
然而,当我对上一级目录进行 wget 调用时
wget -r -nd --no-parent -e robots=off --auth-no-challenge --user=myusr --ask-password https://myexdomain.com/dir/
wget returns 400: 错误请求
知道为什么吗?
HTTP 错误 400 相当普遍,通常与客户端请求的格式有关。如果您不提供有问题的实际网站供我们测试,则很难猜测。不过,这里有一些猜测:
它在纯 http 上工作正常但在 https 上不工作吗?如果是这样,可能与安全策略有关。
您是否使用防火墙、路由器或常驻防病毒软件来检查数据包?如果是这样,它可能正在更改数据包结构使其无效。如果你在一个更大的网络上,你和有问题的主机之间是否有这样的设备(tracert 会帮助你弄清楚)。
您可以访问此主机服务器吗?如果是这样,您能否创建新目录并测试它失败的确切条件?是一直在one-directory-below-root级别吗?
您将机器人排除在外,这有时会很好,但也可能会根据上下文触发来自服务器的不同响应。您是否在没有机器人排除的情况下进行了测试?
您是否尝试过使用不同的 user-agent?一些服务器对 wget user-agents 的响应不同。您可以在 web-browser 中访问这些文件吗?使用卷曲?或者在您的 wget 命令中使用 --user-agent 指定不同的 user-agent?
如果 none 有效,请告诉我们额外测试的结果。