尝试从api.hostip.info上传xml纬度,经度坐标。 Python minidom在本地GAE(和iPython)中运行良好,但在Google GAE中不起作用。我可以抛出下面的代码,但我认为我遗漏了一些特定于Google GAE的东西从另一个网站中提取xml。
ip = self.request.remote_addr
IP_URL = "http://api.hostip.info/?="
def get_coords(ip):
url = IP_URL + ip
xml = None
try:
xml = urllib2.urlopen(url).read()
except urllib2.URLError, e:
return "in URLError "+ e.code
try:
if xml:
s = minidom.parseString(xml)
else:
return "unable to parse content"
except:
return "exception error unable to parse content"
try:
if s:
coords = s.getElementsByTagName("gml:coordinates")
else:
return "unable to get coords"
except:
return "exception error unable to get coords"
try:
if coords: #Google GAE fails on this if statement
p = coords[0].childNodes[0].nodeValue
else:
return "unable to get node value- points"
except:
return "exception unable to get node-value points"
try:
lon, lat = coords[0].childNodes[0].nodeValue.split(',')
points = [Point(lat,lon)]
return points
except:
return "unable to return points"
return None + "dropped to bottom"
答案 0 :(得分:0)
问题解决了。 api.hostip.info不会基于发送的IP地址生成位置,除非是一次或两次。 ap.host.info忽略给定的IP地址,然后默认为发送方的ip位置。我使用了不同的IP地理定位器api,它运行良好