Python 从api.hostip.info提取xml。Minidom适用于本地GAE,但不适用于谷歌GAE

Python 从api.hostip.info提取xml。Minidom适用于本地GAE,但不适用于谷歌GAE,python,google-app-engine,minidom,Python,Google App Engine,Minidom,正在尝试从api.hostip.info上载xml纬度、经度坐标。Python minidom在本地GAE(和iPython)中运行良好,但在Google GAE中不起作用。我可以抛出下面的代码,但我认为在从另一个网站提取xml时,我缺少了谷歌GAE特有的东西 ip = self.request.remote_addr IP_URL = "http://api.hostip.info/?=" def get_coords(ip): url = IP_URL + ip xml =

正在尝试从api.hostip.info上载xml纬度、经度坐标。Python minidom在本地GAE(和iPython)中运行良好,但在Google GAE中不起作用。我可以抛出下面的代码,但我认为在从另一个网站提取xml时,我缺少了谷歌GAE特有的东西

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" 

问题解决了。api.hostip.info不基于发送的IP地址生成位置,除非是一次或两次。ap.host.info忽略给定的IP地址,然后默认为发件人的IP位置。我使用了一个不同的IP地理定位器api,它运行良好

日志中会有任何进一步的信息吗?我看不到-2013-08-29 09:40:21.676/200 11ms 0kb Mozilla/5.0(X11;Ubuntu;Linux x86_64;rv:23.0)Gecko/20100101 Firefox/23.0 76.181.140.45---[29/2013-8/09:40:21-0700]“GET/HTTP/1.1”200 345-“Mozilla/5.0”(X11;Ubuntu;Linux x86_64;rv:23.0)Gecko/20100101 Firefox/23.0“xxxxxx.appspot.com”ms=11 cpu_ms=0 cpm_usd=0.000051 app_engine_release=1.8.3 instance=00C61B11C810837B8E38A1BAB7F69B5FC92HM,您将获得
200 Ok
状态,页面加载显示了什么?谷歌GAE-无法获取节点值-点。本地GAE-[点(lat=u'39.9889',lon=u'-82.9874')]问题已解决。api.hostip.info不基于发送的IP地址生成位置,除非是一次或两次。ap.host.info忽略给定的IP地址,然后默认为发送方的IP位置。我使用了不同的IP地理定位器api,它工作正常。