My favorites | 中文(简体) | Sign in

fetch 函数

google.appengine.api.urlfetch 包提供以下函数:

fetch(url, payload=None, ethod=GET, headers={}, allow_ runcated=False, follow_redirect =True)

url 中给出的网址抓取文档并返回包括响应详细信息的对象。有关返回值的详细信息,请参阅 Response 对象

参数:

url
一个 httphttps 网址。如果网址无效,将抛出 InvalidURLError
payload
POSTPUT 请求的正文内容。
method
用于请求的 HTTP 方法。可接受的值包括 GETPOSTHEADPUTDELETE。这些值是由包提供的常量。
headers
请求中包含的 HTTP 标头的集合,作为名称和值的映射。出于安全目的,有的 HTTP 标头不能由应用程序修改。请参阅禁止使用的 HTTP 标头
allow_truncated
如果为 False 且响应数据超过允许的响应大小上限,则将抛出 ResponseTooLargeError 异常。如果为 True,则不抛出异常,并且响应的 content 被截断为大小上限,Response 对象的 content_was_truncated 属性设置为 True
follow_redirects
如果为 True,HTTP 重定向的响应后有最多 5 个连续重定向。响应数据来自最终位置,就像数据是用于请求的位置。如果为 False,则重定向后没有其他操作,且重定向响应会直接返回到应用程序,其中包括说明重定向的标头信息。

抓取操作是同步的。在服务器响应之前,不会返回 fetch()。较慢的远程服务器可能导致您的应用程序自身的请求超时。

注意:网址抓取无法验证 https 请求的服务器,因为没有证书信任链。代理程序将接受所有证书,包括自签名证书。

禁止使用的 HTTP 标头

出于安全目的,以下传出 HTTP 请求的 HTTP 标头不能由应用程序修改。

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