我有一个很大的JSON,我需要批量发送1MB。我如何在python中做到这一点?任何帮助表示赞赏。
这是代码。
值是整个JSON。
for key, value in attributeJs.iteritems() :
data = value
headers = {'Content-Type' : 'application/json'}
try:
requests.packages.urllib3.disable_warnings()
r = requests.post(url=URL_ATTRIBUTE, headers=headers, verify=False, data=data, timeout=(15,20))
最佳答案
您可以通过将数据作为生成器发送来尝试使用大块编码的请求,如下所示:
def generator():
for key, value in attributeJs.iteritems():
yield value
headers = {'Content-Type' : 'application/json',
'Transfer-encoding':'chunked'}
requests.packages.urllib3.disable_warnings()
r = requests.post(url=URL_ATTRIBUTE, headers=headers, verify=False,
data=generator(), timeout=(15,20), stream=True)
并一次获得1MB:
r.iter_content(chunk_size=1000000) # 1MB = 1000000 Bytes
关于python - 我们可以批量发送json对象吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50347722/