我有这样的链接:
wget --user=user_nm --http-password=pass123 https://site.domain.com/Folder/Folder/page.php?link=/Folder/Folder/Csv.Stock.php\&namefile=STOCK.Stock.csv
但是,虽然密码授权很好,wget
仍然无法处理链接。为什么呢?
答案 0 :(得分:2)
从以下方式处理链接时最安全的方法浏览器使用单引号('
)来引用整个链接字符串。这样shell就不会试图将其分解,而不必手动转义每个特殊字符:
wget --user=user_nm --http-password=pass123 'https://site.domain.com/Folder/Folder/page.php?link=/Folder/Folder/Csv.Stock.php&namefile=STOCK.Stock.csv'
或者,一个真实的例子:
wget --user-agent=firefox 'https://www.google.com/search?q=bash+shell+singl+quote&ie=utf-8&oe=utf-8&aq=t&rls=org.mageia:en-US:official&client=firefox-a#q=bash+single+quote&rls=org.mageia:en-US:official'
请记住,服务器端限制可能会使这样的wget
非常困难。例如,Google禁止某些用户代理字符串,因此禁止使用上面的--user-agent
选项。其他服务器使用cookie来维护会话信息,只是提供到wget
的链接将不起作用。 YMMV。