Requests报”requests.exceptions.InvalidSchema: No connection adapters were found for {url} “的原因以及解决办法

  • Post category:Python

这个报错的原因是因为requests库无法处理所提供的URL协议类型,例如某些接口是通过特殊协议类型进行传输的,例如ftp等。如果遇到这种情况,requests库会返回这个“无效协议”错误。

解决这个问题的方法是,可以尝试使用具有适当支持协议的第三方库,例如ftplib、smtplib、urllib等。

如果你一定要使用requests库,那么可以尝试手动指定URL协议类型,方法如下:

import requests

url = 'ftp://ftp.ncbi.nlm.nih.gov/genbank/'
response = requests.get(url, stream=True)

在这个例子中,我们使用含有ftp协议类型的地址,手动指定了使用stream=True来下载文件。通过制定stream=True可以告知requests使用HTTP的streaming以及HTTP的chunked传输。

如果您使用的是HTTP协议类型,那么请确保提供的URL地址是以http:或者https:开头,例如:

import requests

url = 'https://www.baidu.com'
response = requests.get(url)

这个例子中,我们使用了requests库来从百度发送Get请求并获得响应。

希望这些信息能对你有所帮助。