Я загружаю CSV-файл из Restful API Salesforce.
Если размер файла увеличивается, он показывает
Заголовки ответа:
{
'Expect-CT': 'max-age=86400; report-uri="a.forcesslreports.com******/######";',
'Public-Key-Pins-Report-Only': '"#####"; pin-sha256="&&&&&&&&"; pin-sha256="@@@@@@"; max-age=86400; includeSubDomains; report-uri="a.forcesslreports.com/@@@@/#####";',
'X-Robots-Tag': 'none',
'X-Content-Type-Options': 'nosniff',
'Transfer-Encoding': 'chunked',
'Set-Cookie': 'BrowserId=#########;Path=/;Domain=.salesforce.com;Expires=Sat, 31-Aug-2019 10:52:32 GMT;Max-Age=5184000',
'Strict-Transport-Security': 'max-age=31536002; includeSubDomains',
'Sforce-Limit-Info': 'api-usage=22/500',
'X-XSS-Protection': '1; mode=block',
'Cache-Control': 'no-cache,must-revalidate,max-age=0,no-store,private',
'Date': 'Tue, 02 Jul 2019 10:52:32 GMT',
'Content-Type': 'application/octetstream',
'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT'
}
raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(1546 bytes read, 6646 more expected)', IncompleteRead(1546 bytes read, 6646 more expected))
Я не понимаю, почему разрывается соединение и как это исправить
def download_file(url, header):
local_filename = url.split('/')[-2]
with requests.get(url, stream=True, headers=header) as r:
r.raise_for_status()
print("in get")
with open(local_filename+".csv", 'wb') as f:
for chunk in r.iter_content(chunk_size=1024*8):
#print("in for loop of chunk")
if chunk: # filter out keep-alive new chunks
f.write(chunk)
#f.flush()
r.close()
return local_filename