如何强制 wget 不进行 URL 编码?

How to force wget to not URL-encode?

这看起来应该很简单,但我很难弄明白。我想发送一个类似于下面的 wget 请求,

wget http://www.foo.com/bar.cgi?param=\"p\"

但我不希望它 URL 对引号(或其他任何内容)进行编码。这可能吗?

为了清楚起见,我 a) 处理一个不 URL-解码的服务器 -- 我对此无能为力 -- b) 意识到我可以做到这一点使用 Python 脚本,或 Burp,或许多其他东西。我只需要知道 wget 是否可以做到。

谢谢!

您可以将 URL 括在单引号中。这也适用于带有和号和感叹号 (!) 的 URL。

因此 curl 不会自动对 GET 请求中的参数进行 URL 编码。这并不能完全回答我的问题,但它确实给了我另一种选择。这个:

curl 'http://www.foo.com/bar.cgi?param="p"'

成功了。

我 运行 遇到了同样的问题,并且 wget 中已经有了工作代码,我希望保持这种状态。 wget 网站上有一些关于使用 --restrict-file-names=modes

提供对这些参数的一些控制的文档

https://www.gnu.org/software/wget/manual/wget.html#URL-Format