如何防止“文件名”;index.html?replytocom=xxx“;在wget

如何防止“文件名”;index.html?replytocom=xxx“;在wget,wget,Wget,我试图删除很多奇怪的文件名,比如index.html?replytocom=653,index.html?replytocom=667,等等 Im使用以下代码: wget -k -m -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,?,= -t 1 http://www.website.com/ 也试过了 wget -k -m -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,?,=,replytocom -t 1 ht

我试图删除很多奇怪的文件名,比如
index.html?replytocom=653
index.html?replytocom=667
,等等

Im使用以下代码:

wget -k -m -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,?,= -t 1 http://www.website.com/
也试过了

wget -k -m -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,?,=,replytocom -t 1 http://www.website.com/

但是运气不好。

在这种情况下,不可能使用
rejlist
,因为

还要注意的是,查询字符串(URL末尾以问号(`?`)开头的字符串)不作为接受/拒绝规则的文件名的一部分包含,即使这些规则实际上将有助于为本地文件选择的名称。预计Wget的未来版本将提供一个选项,允许对查询字符串进行匹配。 因此,您需要使用
--reject regex
参数

wget --reject-regex '(.*)\?(.*)' http://example.com
请注意,每次调用
wget
时,似乎只能使用
--reject regex
一次。也就是说,如果要在多个regex上进行选择,则必须在单个regex中使用

wget --reject-regex 'expr1|expr2|…' http://example.com

所以在回答你的问题时,我猜解决方案是这样的:

wget --reject-regex '(.*)replytocom(.*)' (...)