Получение имени параметра значения в запросе URL - PullRequest
4 голосов
/ 23 июля 2011

У меня есть класс веб-приложения Python App Engine, к которому я обращаюсь со следующим URL-адресом POST: http://localhost:8087/moderate?5649364211118945661=on

Как получить имя Параметр - не значение параметра 5649364211118945661, а список всех имен параметров, содержащих значение on.

Например, в следующем URL:

http://localhost:8087/moderate?5649364211118945661=on&23984729386481734=on&456287432349725=on&6753847523429875=off

как мне извлечь это:

['5649364211118945661', '23984729386481734', '456287432349725']

Большое спасибо.

1 Ответ

9 голосов
/ 23 июля 2011

Использовать urlparse, http://docs.python.org/library/urlparse.html.

import urlparse
url = urlparse.urlparse('http://localhost:8087/moderate?5649364211118945661=on&23984729386481734=on&456287432349725=on&6753847523429875=off')
query = urlparse.parse_qs(url.query)
print [key for key, value in query.iteritems() if value == 'on']

Если вы говорите о входящем URL в Google App Engine, используйте

args_on = [arg for arg in self.request.arguments() if self.request.get(arg) == 'on']
...