Python请求-无连接适配器


Answers:


381

您需要包括协议方案:

'http://192.168.1.61:8080/api/call'

没有这个http://部分,requests就不知道如何连接到远程服务器。

请注意,协议方案必须全部为小写。如果您的URL以HTTP://例如开头,则也找不到http://连接适配器。


@MartijnPieters您建议使用哪个软件包通过ftp下载文件?
AstroFloyd

@AstroFloyd对不起,我没有任何建议。
马丁·彼得斯

我很抱歉-我以为是在回应您对别人对另一个问题的回答的评论。无论如何,我遇到了以上错误,因为我试图通过FTP下载文件。 这个答案提供了针对该问题的解决方案,对于Python3来说是“偶数”。
AstroFloyd

@AstroFloyd:是的,requests仅用于HTTP,不用于其他协议。
马丁·彼得斯

28

另一个原因,也许您的URL包含一些隐藏的字符,例如'\ n'。

如果您按如下方式定义网址,则会引发此异常:

url = '''
http://google.com
'''

因为字符串中有'\ n'隐藏。该网址实际上变为:

\nhttp://google.com\n

9
或者,如果您的网址由于尾随逗号而意外成为元组url = self.base_url % endpoint,
Christian Long

@ChristianLong有什么方法可以将字符串转换为正确的URL?就像,你能告诉我,你在评论中做什么?
拉维·香卡·巴尔蒂
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.