从Google App Engine获取非本地主机名dev_appserver
问题描述:
我想在运行dev_appserver.py时获取Google App Engine中的主机名,因为GAE正在请求外部服务器,并且该服务器需要知道在哪里发送它的回应。从Google App Engine获取非本地主机名dev_appserver
不幸的是,规范的Python的方式似乎并没有工作,是:
import socket
socket.gethostbyname(socket.gethostname())
的socket
库不GAE工作。
此外,
os.environ['HTTP_HOST']
os.environ['SERVER_NAME']
都是本地主机。
如何获得外部服务器连接到GAE的IP?
感谢您阅读
虽然可能需要添加'--address = 192.168.xx'(其中192.168.xx是GAE侦听的地址)作为'dev_appserver.py'的参数,并且可以通过GAE连接到GAE该地址;请注意SERVER_NAME:SERVER_PORT在服务器上设置,而HTTP_HOST来自客户端(因此不可靠)。我使用的是Django而不是Webob,所以'request.META ['SERVER_NAME']'是获得正确地址的标准方法。 –