Demandes Python - Aucun adaptateur de connexion

Réponses:

385

Vous devez inclure le schéma de protocole:

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

Sans la http://partie, requestsn'a aucune idée de comment se connecter au serveur distant.

Notez que le schéma de protocole doit être entièrement en minuscules; si votre URL commence par HTTP://exemple, il ne trouvera pas non plus l' http://adaptateur de connexion.

Martijn Pieters
la source
@MartijnPieters Quel package recommandez-vous pour télécharger un fichier en utilisant ftp?
AstroFloyd
@AstroFloyd Je n'ai aucune recommandation là-bas, désolé.
Martijn Pieters
Je m'excuse - je pensais que je répondais à votre commentaire sur la réponse de quelqu'un d'autre à une question différente. Quoi qu'il en soit, j'ai eu l'erreur ci-dessus car j'ai essayé de télécharger un fichier via FTP. Cette réponse donne une solution à ce problème, "même" pour Python3.
AstroFloyd
@AstroFloyd: oui, requestsc'est purement pour HTTP, pas pour d'autres protocoles.
Martijn Pieters
28

Une raison de plus, peut-être que votre URL contient des caractères cachés, tels que «\ n».

Si vous définissez votre URL comme ci-dessous, cette exception entraînera:

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

car il y a '\ n' caché dans la chaîne. L'url devient en fait:

\nhttp://google.com\n
Kingname
la source
9
Ou si votre URL est accidentellement un tuple à cause d'une virgule de finurl = self.base_url % endpoint,
Christian Long
@ChristianLong existe-t-il un moyen de convertir une chaîne en URL appropriée? Comme, pouvez-vous me dire, que faites-vous dans votre commentaire?
Ravi Shankar Bharti