我正在尝试通过ShareFile API下载大文件(大小介于3GB-80GB之间),存储在本地目录中。
我尝试使用Python脚本,JavaScript和cURL,但它们都在某个时间点或另一时间因超时而失败。
下面是我正在使用的Python代码的一小段,它并不总是可靠的,因为它一天要处理3GB的文件,然后在代码没有更改的情况下就不再工作了。它只会返回504超时。它不可能在10GB甚至80GB的文件上运行。我一直在研究下载大文件的方法,但是当查找如何通过API调用下载大文件时,对其他人来说很大的东西似乎是MB,我对此没有任何疑问。
我也尝试下载一定范围的字节,但是当尝试使用下面的相同代码(仅为Range添加一个附加标头)下载12GB文件时,它将超时。
def download_item(downloadUrl, token, local_path):
url = downloadUrl + '/Download'
headers = {'Authorization': 'Bearer ' + token, 'Accept-Encoding': 'gzip'}
response = requests.get(url = url, headers = headers, stream = True)
print(response.status_code)
with open(local_path, 'wb') as f:
print("Opened")
for chunk in response.iter_content(chunk_size=512):
f.write(chunk)
return print("File completed " + str(datetime.datetime.now()))
我也尝试过使用cURL,它可以处理我需要的12GB文件,但是在更大的文件上会超时
必须有一种方法来处理非常大的文件,但是我的研究并未返回任何有用的方法。