2011-12-19 83 views
0

我试图对很多数据进行地理编码。我有很多机器来传播负载(这样我就不会每天按IP地址发送2,500个请求)。我正在使用脚本通过wget或cURL发出请求。但是,wget和cURL都会产生相同的“请求被拒绝”消息。这就是说,当我从浏览器发出请求时,它完美地工作。一个例子要求是:发送请求到谷歌的地理编码API从终端

wget http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true 

并输出结果是:

[1] 93930 
05:00 PM ~: --2011-12-19 17:00:25-- http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA 
Resolving maps.googleapis.com... 72.14.204.95 
Connecting to maps.googleapis.com|72.14.204.95|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: unspecified [application/json] 
Saving to: `json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA' 

    [ <=>         ] 54   --.-K/s in 0s  

2011-12-19 17:00:25 (1.32 MB/s) - `json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA' saved [54] 

它写信给该文件只包含:

{ 
    "results" : [], 
    "status" : "REQUEST_DENIED" 
} 

任何帮助深表感谢。

回答

3

分隔地址和传感器参数的'&'字符没有传递给wget命令,而是告诉shell在后台运行wget。由此产生的查询缺少所需的“传感器”parameter,应根据您的输入将其设置为true或false。

wget "http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false" 
+0

不,我不是,你需要滚动它,我写了什么。它说'&传感器=真实' – Mason 2011-12-22 19:39:26

+0

我已经更新了答案,以更好地反映您遇到的问题。 &字符是特殊的bash。 – bamnet 2011-12-23 06:33:33