发出 GET 请求时出现奇怪的 JSONDecodeError

时间:2021-03-21 22:31:35

标签: python json python-requests virtual-machine

我有一个在 VM 上运行的机器人,它每隔设定的时间间隔调用一个 API Url。

这是我打的电话:

resp = requests.get(url, headers = h)
data = resp.json()
handle_data(data)

非常典型的通话,一切都很好。突然间,我不断收到 JSONDecodeError 错误。 (我做了错误处理,但这不是这个问题的重点)

它奇怪的原因是 - 上面的调用返回了 200 响应,但没有 JSON 文件,并且知道为什么。我已经在 Google Cloud 和 Azure 上的 4 个不同虚拟机上对此进行了测试。都没有返回给我 JSON 对象。但是在我的本地 PC 上完全相同的调用完全没问题。我得到了 JSON 响应对象。

软件包版本相同。

  • VM 上的 python 版本:3.7.4
  • PC 上的 python 版本:3.7.1
  • 请求两个版本:2.25.1

有人知道这是为什么吗?不幸的是,我无法分享我正在调用的 API URL。有没有人遇到过类似的情况?

PS:我尝试将我的 VM python 版本更改为 3.7.1,但我不知道怎么做。

编辑: 我一直在与我正在访问其端点的开发人员交谈。他添加了一些身份验证层,因此人们无法未经许可访问它。所以调用时的适当响应应该是 1020。但是我仍然返回 200,没有 JSON。我们不确定为什么会发生这种情况。

我相信问题来自端点

0 个答案:

没有答案