我有一个很大的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/

10-12 00:21
查看更多