在 Telegram Bot 中从 DigitalOcean Spaces 发送照片时出现 Telegram 错误 BadRequest API
Telegram error BadRequest when sending photos from DigitalOcean Spaces in Telegram Bot API
我的电报机器人在通过 DigitalOcean Spaces CDN 发送图片时遇到问题。
这里最令人沮丧的部分是大多数图片都没有任何错误地发送,但是一些特定的图片导致 Telegram Bot API.
出现 BadRequest 400 错误
这些图像在格式和元数据方面完全相同,但出于某种原因 Telegram 拒绝加载其中的一些图像(即使我向“损坏的”图像发送 URL,Telegram 也会不显示预览)。
这里最恶心的部分是,当我将 .cdn 子域添加到 URL 时,一些“损坏”的图片被接受,反之亦然——一些带有 .cdn 子域的“损坏”图片被接受如果我删除它。
OK image(没有错误,从我的发送时
显示个人帐户预览)
broken image(错误,从我的发送时
个人帐户未显示预览)。
magically cured broken image(没有错误,显示预览,与之前相同,但 URL 中没有 .cdn)
如能提供解决此问题的任何提示,我将不胜感激
事实证明,Telegram 缓存了来自照片 URL 的响应(成功的和不成功的)。因此,如果出于某种原因 URL 之一返回非 200 响应,则此响应将被缓存,并且所有后续通过相同 URL 发送此图像的重试都将失败。
包含有关如何更新缓存的信息。
我的电报机器人在通过 DigitalOcean Spaces CDN 发送图片时遇到问题。 这里最令人沮丧的部分是大多数图片都没有任何错误地发送,但是一些特定的图片导致 Telegram Bot API.
出现 BadRequest 400 错误这些图像在格式和元数据方面完全相同,但出于某种原因 Telegram 拒绝加载其中的一些图像(即使我向“损坏的”图像发送 URL,Telegram 也会不显示预览)。
这里最恶心的部分是,当我将 .cdn 子域添加到 URL 时,一些“损坏”的图片被接受,反之亦然——一些带有 .cdn 子域的“损坏”图片被接受如果我删除它。
OK image(没有错误,从我的发送时 显示个人帐户预览)
broken image(错误,从我的发送时 个人帐户未显示预览)。
magically cured broken image(没有错误,显示预览,与之前相同,但 URL 中没有 .cdn)
如能提供解决此问题的任何提示,我将不胜感激
事实证明,Telegram 缓存了来自照片 URL 的响应(成功的和不成功的)。因此,如果出于某种原因 URL 之一返回非 200 响应,则此响应将被缓存,并且所有后续通过相同 URL 发送此图像的重试都将失败。