• Официальный сайт SDK
  • Сайт с примерами кода

Данные запроса

Экземпляр класса обработчика может получить данные поступившего запроса с помощью своего атрибута request. Приложение производит его инициализацию данными объекта Request библиoтеки WebOb.

Объект request содержит метод get(), который возвращает значения параметров, извлеченных из строки запроса или данных, отправленных методом POST протокола HTTP. Метод принимает имя параметра в качестве своего первого аргумента. Например:

CmNsYXNzIE15SGFuZGxlcih3ZWJhcHAuUmVxdWVzdEhhbmRsZXIpOgpkZWYgcG9zdChzZWxmKToKbmFtZSA9IHNlbGYucmVxdWVzdC5nZXQoIm5hbWUiKQo==

По умолчанию, метод get() возвращает пустую строку ('') в том случае, если заданный параметр не содержится в запросе. Если задан аргумент default_value, метод get() возвращает указанное в нем значение вместо выдачи пустой строки.

Если в запросе параметр был указан несколько раз, по умолчанию метод get() вернет только первое его значение. Для того, чтобы получить список всех таких значений в виде списка (который может быть пустым), передайте методу get() аргумент allow_multiple=True.

CiMgJmx0O2lucHV0IG5hbWU9Im5hbWUiIHR5cGU9InRleHQiIC8mZ3Q7Cm5hbWUgPSBzZWxmLnJlcXVlc3QuZ2V0KCJuYW1lIikKIyAmbHQ7aW5wdXQgbmFtZT0ic3Vic2NyaWJlIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9InllcyIgLyZndDsKc3Vic2NyaWJlX3RvX25ld3NsZXR0ZXIgPSBzZWxmLnJlcXVlc3QuZ2V0KCJzdWJzY3JpYmUiLCBkZWZhdWx0X3ZhbHVlPSJubyIpCiMgJmx0O3NlbGVjdCBuYW1lPSJmYXZvcml0ZV9mb29kcyIgbXVsdGlwbGU9InRydWUiJmd0Oy4uLiZsdDsvc2VsZWN0Jmd0OwpmYXZvcml0ZV9mb29kcyA9IHNlbGYucmVxdWVzdC5nZXQoImZhdm9yaXRlX2Zvb2RzIiwgYWxsb3dfbXVsdGlwbGU9VHJ1ZSkKZm9yIGZvb2QgaW4gZmF2b3JpdGVfZm9vZHM6CiMgLi4uCg===

Для тех запросов, которые в своем теле не содержат CGI-параметров (к примеру, запросы типа PUT протокола HTTP), объект request формирует дополнительные атрибуты body и body_file. Атрибут body является содержимым телом запроса в виде байтовой строки. Атрибут body_file предоставляет доступ к тем же данным, но как к файловому интерфейсу.

CnVwbG9hZGVkX2ZpbGUgPSBzZWxmLnJlcXVlc3QuYm9keQo==

Библиотека WebOb является стронней библиотекой с открытым исходным кодом. Для подробного описания интерфейсов и примеров работы с ней, обратитесь к документации по WebOb.