【问题标题】:getting "Error 411 (Length Required)" when submitting text for translation提交翻译文本时出现“错误 411(需要长度)”
【发布时间】:2019-05-31 05:50:23
【问题描述】:

我刚刚开始使用 Google 翻译,并且正在使用 Python API。我的源语言是简体中文。

对于少量文本(如文章标题),它可以正常工作。

当我尝试发送整篇文章时,收到 413 错误,提示我的请求太大。根据运行 len(text),我的文章只有 2236 个字符长,但这是在 Unicode 中,所以当它通过网络时可能会超出 5000 个字符的建议/限制。

当我在 1000 个 unicode 字符处截断字符串时,我得到“错误 411,需要长度”。

我怀疑我在 1000 个字符处的盲切会将一些字符切成两半,但我无法弄清楚 content_length 的设置位置(而且 translate() 方法中确实没有暴露的参数看起来很可能帮助)

【问题讨论】:

    标签: google-translate


    【解决方案1】:

    通过在正文中而不是在查询中发送数据来修复错误 411。当我在查询字符串中发送文本时,我遇到了同样的问题。

    【讨论】:

    • 我明白你在说什么......但是生成请求的点深深地隐藏在 API 代码中。我无法选择是在正文中还是在查询中发送数据。 (奇怪的是,它总是发送一个带有巨大 URL 的 POST)
    【解决方案2】:

    如果有人仍然遇到这个问题,升级到最新的google-cloud-translate 客户端应该可以解决这个问题。有关更多信息,PR here 为我解决了问题,即客户端使用 GET 请求而不是 POST 请求。

    注意:这还应该解决在发送适当大小的文本列表进行翻译时出现 413(请求实体太大)的相关错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多