【问题标题】:How to send a large JSON file via python http request如何通过 python http 请求发送一个大的 JSON 文件
【发布时间】:2018-07-05 14:41:58
【问题描述】:

我在本地机器上运行两个服务。我想将数据从服务 1 发送到端口 8004 上的服务 2。我正在执行以下操作:

r = requests.get('http://127.0.0.1:8004/json_data='+json.dumps(json_data))

我收到这两个错误:

ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

我假设我正在发送一个导致问题的大文件。我的文件大小为 15mb,它是一个 python 字典,我通过 json.dumps() 发送它

有什么克服这个错误的建议吗?

【问题讨论】:

    标签: python json api python-requests httprequest


    【解决方案1】:

    HTTP GET 请求在请求大小方面有限制。没有标准,但我认为最支持浏览器的最大大小约为 200 KB,这远低于您尝试发送的内容。另一种方法是使用 POST,但也有 2MB 左右的限制,这因浏览器和服务器而异。所以你有两个选择:

    • 尝试上传文件。
    • 分解您的有效载荷。

    希望这会有所帮助。

    【讨论】:

    • 谢谢你的回答,你说的文件上传是什么意思?
    • @AnarKi,你用的是什么服务器?
    • 我正在使用cherrypy来暴露函数
    • @AnarKi,对此不是很熟悉,但看看你是否可以使用这个 python 示例:gist.github.com/UniIsland/3346170
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多