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

Функция fetch

Пакет google.appengine.api.urlfetch содержит следующую функцию:

fetch(url, payload=None, method=GET, headers={}, allow_truncated=False)

Загружает документ по заданному URL в параметре url и возвращает объект, содержащий результаты ответа сервера. Смотрите описание Объектов ответа для дополнительной информации о возвращаемом значении.

Параметры:

url
URL типа http или https. Если будет передан неверный URL, произойдет выдача исключения InvalidURLError.
payload
Содержимое для запросов типа POST или PUT.
method
Метод протокола HTTP, которым требуется выполнить запрос. Может принимать значения: GET, POST, HEAD, PUT и DELETE. Эти значения являются константами описываемого пакета.
headers
Набор заголовков протокола HTTP, которые требуется передать в запросе, указанный в формате словаря имен и значений. По соображениям безопасности, некоторые заголовки протокола HTTP не могут быть модифицированы приложением. Смотрите Запрещенные заголовки HTTP.
allow_truncated
Если установлено значение False и ответ сервера превышает максимально допустимый размер, будет выдано исключение ResponseTooLarge. Если значение установлено в True, никакие исключения не выдаются, ответ сервера, возвращаемый в атрибуте content, будет просто обрезан до максимального размера, атрибуту content_was_truncated будет установлено значение True.

Выполнение функции fetch является синхронным. Оно не будет прервано, пока не будет получен ответ от сервера. Запросы к медленным серверам могут привести к тому, что приложение будет завершаться по таймауту.

Примечание: В процессе загрузки URL по протоколу https нет возможности проверить подлинность сертификата безопасности. Прокси сервер будет принимать все сертификаты, включая самоподписанные.

Запрещенные заголовки HTTP

По соображениям безопасности, следующие заголовки протокола HTTP не могут быть модифицированы приложением:

  • Content-Length
  • Date
  • Host
  • Referer
  • User-Agent
  • Vary
  • Via
  • X-Forwarded-For