我正在尝试获取运行我的appengine应用程序的服务器的基本URL(主机名)。
就像
那样wsgiref.util.application_uri(self.request.environ)
然而它正在返回我不想要的PATH_INFO。也许我错过了一些东西,但即使这篇文章也说明了路径信息应该省略。 http://docs.python.org/library/wsgiref.html
http://9.latest.my-app.appspot.com
基本上与我想要检索的内容一致。相反,它正在返回
http://9.latest.my-app.appspot.com/my/requested/path
答案 0 :(得分:5)
请求对象是Webob请求对象。因此,您可以从self.request.host
获取主机名,使用self.request.host_url
的协议获取主机名,依此类推。
答案 1 :(得分:1)
您可以在os.environ['HTTP_HOST']
中找到主机名。
这不包括协议,但应该很容易从你得到的价值中解析:
base = '/'.join(url.split('/')[:3])
...或
import urlparse
url = urlparse.urlparse(url)
base = "%s://%s" % (url.scheme, url.hostname)