关于wget有什么特别之处吗?

时间:2011-09-16 12:51:47

标签: bash

我尝试使用bash命令wget下载此网页http://maps.googleapis.com/maps/api/geocode/xml?address=Coimbatore+&sensor=true(Google maps api)。但我得到的回应是一个页面,告诉我该请求被拒绝。我尝试使用Python urllib函数下载相同的内容,这是成功的。那么wget有什么特别之处呢?或者我错过了什么?

3 个答案:

答案 0 :(得分:3)

Bash对& 字符有特殊含义。您需要使用反斜杠( \ )或将整个网址用单引号(')打包。

答案 1 :(得分:1)

这是因为特殊字符由bash(例如?和&`来解释,后者在后台进行处理)。 只需将它包装在简单的引号旁边,就可以了。

答案 2 :(得分:1)

我可以想象这是因为robots.txt

您可以将UserAgent调整为(可能)过去

如果您拥有网站所有者的权限(!!!),则可以通过将-erobots=off传递给wget来忽略robots.txt,因此:

wget -erobots=off \
    'http://maps.googleapis.com/maps/api/geocode/xml?address=Coimbatore+&sensor=true'