连接中断:在 Heroku 上向 Django 发送请求时出现 IncompleteRead(0 bytes read)

bub*_*che 5 python django heroku python-3.x python-requests

我有一个在 Django 中返回 JsonResponse 的视图

def some_view(request):
    return JsonResponse({'a': 1, 'b': 2})
Run Code Online (Sandbox Code Playgroud)

在同一项目的其他地方,我有一段代码将 GET 请求发送到与该视图相对应的 url:

import requests
def client_func():
    requests.get(url_to_some_views)
Run Code Online (Sandbox Code Playgroud)

它可以在我的本地计算机上运行,​​但在部署到 heroku 后,有时会出现错误:('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))

经过一些测试,我发现some_view:的响应头中有一个额外的字段,transfer-encoding: chunked所以我猜这可能是导致问题的原因,但我仍然不确定如何处理这个问题。到目前为止,我已尝试添加stream=True到 get 调用中client_func,但问题仍然存在。

有人可以帮我解决这可能是我的问题的原因并解决这个问题吗?非常感谢!

bub*_*che 3

发现问题了,这是因为我的 1 个 GET 请求有一个正文,它把事情搞砸了。