Python 谷歌地图反向地理编码总是在服务器端以602(未知地址)作为响应
我有调用Google地理编码API的服务器端代码,如下所示:Python 谷歌地图反向地理编码总是在服务器端以602(未知地址)作为响应,python,django,google-maps,Python,Django,Google Maps,我有调用Google地理编码API的服务器端代码,如下所示: http://maps.google.com/maps/geo?q=40.714224,-73.961452&output=json&sensor=false&key=API_KEY 其中API\u KEY是我的API密钥。正如预期的那样,我得到了一个JSON回复,但是回复总是602(未知地址)。我的网址错了吗?(我也尝试了中的URL,但它返回一个状态:“请求被拒绝” 还有什么不对劲 更新: 实际上,这似乎是
http://maps.google.com/maps/geo?q=40.714224,-73.961452&output=json&sensor=false&key=API_KEY
其中API\u KEY
是我的API密钥。正如预期的那样,我得到了一个JSON回复,但是回复总是602
(未知地址)。我的网址错了吗?(我也尝试了中的URL,但它返回一个状态:“请求被拒绝”
还有什么不对劲
更新:
实际上,这似乎是我的实现中的一个错误,而不是URL。我就是这样做的:
api_params = {
'q': '40.714224,-73.961452',
'sensor': 'false',
'key': KEY,
'output': 'json'
}
# make the api call
http_response = urllib.urlopen('http://maps.google.com/maps/geo',
urllib.urlencode(api_params))
r = json.load(http_response)
但将其改为:
api_params = {
#'q': str(lat) + ',' + str(lng),
'q': '40.714224,-73.961452',
'sensor': 'false',
'key': KEY,
'output': 'json'
}
# make the api call
http_response = urllib.urlopen('http://maps.google.com/maps/geo?q='+api_params['q']+'&output=json&sensor=false&key='+api_params['key'])
r = json.load(http_response)
print r
修复了该问题。因此,我的新问题是,第一个问题出了什么问题?尝试使用HTTP watcher来确保这是在应用程序中发送的实际URL。它可能没有正确编码,或者可能没有正确组装。因为您没有收到拒绝请求的请求,我们将拒绝当我们直接查看时,我们能够获得良好的响应,这似乎是最好的开始。希望这会有所帮助!第一个执行POST请求,第二个执行get请求 您可能还希望使用urllib.urlencode函数进行连接
但最简单的方法是使用geopy。您在浏览器中尝试过吗?我按原样获取URL,并返回一个准确的结果。嗯……您是对的……这很奇怪……可能是我的实现中的一个错误!我会继续。。。