将 urllib 下载转换为使用请求

Convert urllib download to using requests

我将如何使用 requests 执行以下操作?

urllib.urlretrieve('ftp://USER:pass@i.website.net/upload/file.csv', filepath)

如果我尝试执行 requests.get(),我会收到一条错误消息 requests.exceptions.InvalidSchema: No connection adapters were found for 'ftp://

您不能使用 requests 通过 FTP 下载文件。来自 requests documentation:

Requests is an Apache2 Licensed HTTP library, written in Python, for human beings.

相当可插入的,我注意到有一个 requests-ftp project,但这只不过是一个 hack,因为没有维护任何状态。来自文档:

Does not provide:

  • Connection pooling! One new connection and multiple commands for each request, including authentication. Super inefficient.

加载项也不适合下载大文件,因为所有数据都加载到内存中,这与 requests.get('http://..', stream=True) 请求不同。