我们可以批量发送json对象吗?

2024-04-19 12:31:06 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: keyinjson密码fordataapplicationvalue
2条回答

您可以使用requests流式传输数据

with open('massive-body', 'rb') as f:
    requests.post('http://some.url/streamed', data=f)

您可以尝试使用块编码请求,将数据作为生成器发送,如下所示:

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

相关问题 更多 >