【问题标题】:urlfetch is not sending long headersurlfetch 未发送长标头
【发布时间】:2014-11-12 08:33:39
【问题描述】:

我正在尝试在 Google App Engine 上使用 urlfetch 获取网址。出于某种原因,某些标头的值太长时不会发送。这只发生在生产服务器上(在我的开发机器上工作)。

这种行为有意义吗?它在任何地方都有记录吗?有没有办法绕过这个?

更新: 发现 this issue 从 2011 年开始,表示标头有 481 个字节的未记录限制。

我的代码:

headers = {
    'LongHeader' : 'LONG_BASE64_VALUE' # 1172 chars
    'ShortHeader' : 'SHORT_VALUE' # 119 chars
}

response = urlfetch.fetch(
    url = url,
    method = urlfetch.GET,
    headers = headers)

# ShortHeader is received by the target server, but LongHeader is not.

【问题讨论】:

  • 您要设置哪些标头?
  • @AndreiVolgin 只是我自己的自定义标头,不是无法修改的标头之一。当值较短时,也会发送相同的标头。

标签: python google-app-engine urlfetch


【解决方案1】:

事实证明,对于标题大小(包括键、颜色、冒号后的空格和值),存在大约 497 个字符的未记录大小限制。

GAE 存储库中有未解决的问题:

https://code.google.com/p/googleappengine/issues/detail?id=10210 https://code.google.com/p/googleappengine/issues/detail?id=5409

还有一个 SO 问题: Is there a size limit for HTTP response headers on Google App Engine?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    相关资源
    最近更新 更多