从Google App Engine dev_appserver获取非本地主机名

0 投票
1 回答
1201 浏览
提问于 2025-04-17 04:50

我想在运行 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

这可能是最可靠的方法。

撰写回答