从Google App Engine dev_appserver获取非本地主机名
我想在运行 dev_appserver.py 的时候获取 Google App Engine 的主机名,因为 GAE 需要向一个外部服务器发送请求,而那个服务器需要知道把响应发到哪里。
可惜的是,按照常规的 Python 方法似乎行不通,具体代码是:
import socket
socket.gethostbyname(socket.gethostname())
而且,
os.environ['HTTP_HOST']
os.environ['SERVER_NAME']
这两个都是 localhost。
那么,怎么才能获取一个外部服务器连接到 GAE 时的 IP 地址呢?
谢谢你的阅读。
1 个回答
3
在GAE沙箱中,socket包可能是被禁用的。
你有没有试过用请求对象来检查这个情况呢? http://docs.webob.org/en/latest/reference.html#id1
这可能是最可靠的方法。