如何在Google App Engine中获取主机名?

时间:2013-11-17 01:44:32

标签: python google-app-engine

我正在使用Google App Engine上的Python开发应用程序 http://shs1509-grc.appspot.com/
由于我在中国,appspot被阻止,我的用户必须使用主机名http://shs1509-grc.appsp0t.com/来访问我的应用。
问题是,当我使用self.redirect("/something")时,我的用户将被重定向到他们无法访问的appspot,
但是如果使用self.redirect("http://shs1509-grc.appsp0t.com/something"),直接访问appspot的用户将被重定向到appsp0t,这比较慢,对我来说进行本地调试会很麻烦。
我想我可以用self.request.host来解决问题,以获取访问者来自哪个主机名,但即使我是从appsp0t访问的,它的值仍然是shs1509-grc.appspot.com
任何解决方案?提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用os.environ['HTTP_HOST'].endswith('.appspot.com')并相应地重定向。 This question有更多详情。