来自 api_key 的 Wget 图像问题

来自 api_key 的 Wget 图像问题

我们有一个供应商向我们发送带有适当路径和图像名称的新项目的 xml 提要。我创建了一个脚本,该脚本将剥离图像的网址路径,但如果我尝试使用 wget 获取这些路径,则会出现协议错误。我尝试使用wget -i list.txt.如果我使用其他类似的工具,我就不会遇到问题。是什么导致了这个问题?最好的建议是什么?

答案1

我认为这会起作用

grep -oP "http:\//[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*.jpg" inputfile  | xargs -n1 wget

或者如果你有列表那么你可以使用

cat list.txt | xargs -n1 wget 

答案2

在没有看到输入样本和至少脚本核心的情况下,我只能推测 URL 受到了恶意太空雪人的干扰。他们因这种不负责任的行为而臭名昭著 - 您唯一的希望就是致电 51 区技术支持。

或者可以在此处提供示例和脚本。这是一个疯狂的想法,但可能会有所帮助。如有必要,可对它们进行匿名化或混淆处理,但不要弄乱 XML 文件的结构。

我猜测您正在使用一个简单的正则表达式,并指出作为一般规则,使用正则表达式“解析”XML 不是一个好主意 - 它很脆弱并且很容易被有效但意外的输入混淆......使用xml 解析库或函数,甚至是类似的工具XML2从 XML 文件中提取 URL。

另请注意,正如上面 Deer Hunter 所暗示的,如果 URL 包含任何对 shell 有特殊含义的空格或标点符号(例如&?*和许多其他字符),则在 wget 上使用 URL 之前,您需要引用或转义 URL命令行。作为一个非常简单的示例,请使用wget "$URL"而不只是wget $URL- 请注意 $URL 变量周围的双引号。

答案3

经过多次审查后,我们发现网络是一个问题。 wget 脚本适用于其他站点以及使用基于窗口的工具(例如 jdownloader)下载的链接。由于某种原因,基于 Linux 的一方无法访问供应商的 NT Web 服务器。我们已经安装了winbind,但网络检查正常。

相关内容