GAE self.request.environ и серверный хост - PullRequest
0 голосов
/ 20 августа 2010

Я пытаюсь получить базовый URL (имя хоста) сервера, на котором запущено мое приложение appengine.

Т.е. что-то вроде

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

Ответы [ 2 ]

5 голосов
/ 22 августа 2010

Объект запроса является объектом запроса Webob . Таким образом, вы можете получить имя хоста от self.request.host, имя хоста с протоколом от self.request.host_url и т. Д.

1 голос
/ 20 августа 2010

Вы можете найти имя хоста в os.environ['HTTP_HOST'].

Это не будет включать протокол, но должно быть легко разобрать полученное значение:

base = '/'.join(url.split('/')[:3])

или ...

import urlparse
url = urlparse.urlparse(url)
base = "%s://%s" % (url.scheme, url.hostname)
...