【发布时间】:2018-10-05 16:25:08
【问题描述】:
我有两个使用 web.py 在不同端口上运行的 python 应用程序。我正在尝试将 30,000-40,000 个字符范围内的 JSON 字符串从一个应用程序发送到另一个应用程序。 JSON 包含生成 powerpoint 报告所需的所有信息。我尝试使用请求来启用这种通信:
import requests
template = <long JSON string>
url = 'http://0.0.0.0:6060/api/getPpt?template={}'.format(template)
resp= requests.get(url).text
我注意到在接收端,json 已被截断为 803 个字符长,因此当它解码 JSON 时,我得到:
json.decoder.JSONDecodeError: Unterminated string starting at: line 1 column 780 (char 779)
我认为这必须限制来自 web.py 或 requests 的 URL 请求的长度,或者这是一个标准化的东西。有没有办法解决这个问题,或者我需要找到另一种方式来启用这两个 python 应用程序之间的通信。如果无法通过 http 发送如此长的 JSON,您能否提出替代方案。谢谢!
【问题讨论】:
-
这不是 Python 请求限制。最大 URL 长度是服务器强制执行的。
-
对于这么大的数据,您应该使用 POST,而不是 GET。
标签: python json python-3.x python-requests web.py