尝试使用Python / Javascript / cURL通过API下载> 3GB文件

时间:2018-07-18 19:27:22

标签: javascript python api curl sharefile

我正在尝试通过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文件,但是在更大的文件上会超时

必须有一种方法来处理非常大的文件,但是我的研究并未返回任何有用的方法。

0 个答案:

没有答案