我正在构建用于下载远程文件的python应用程序。在大多数情况下,我们使用pycurl
进行实际下载,但是我们需要定义一个包装pycurl
对象的类。该类可以处理几种协议(HTTP(S)
,FTP(S)
和SFTP
)。
[我们已经注意到,在某些发行版(例如Ubuntu 18.04)上,cURL
不支持SFTP
协议。因此,使用某些与SFTP
相关的选项(例如SSH_KNOWNHOSTS
)会导致崩溃(即使URL使用其他协议,当设置选项下载前时也会发生崩溃)。因此,我们需要知道在定义类时(即,导入模块时)可用的协议。
了解pycurl
支持哪些协议的最佳方法是什么?我知道pycurl.version_info()
的输出包含受支持的协议(项目8),但是有更好的方法吗?
pycurl不跟踪或检查libcurl支持哪些协议。