Python-Anfragen - Keine Verbindungsadapter


Antworten:


380

Sie müssen das Protokollschema einschließen:

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

Ohne das http://Teil requestshat keine Ahnung, wie man eine Verbindung zum Remote-Server herstellt.

Beachten Sie, dass das Protokollschema nur in Kleinbuchstaben geschrieben sein muss. Wenn Ihre URL HTTP://beispielsweise mit beginnt , wird der http://Verbindungsadapter ebenfalls nicht gefunden.


@MartijnPieters Welches Paket empfehlen Sie, um eine Datei mit FTP herunterzuladen?
AstroFloyd

@AstroFloyd Ich habe dort keine Empfehlungen, sorry.
Martijn Pieters

Ich entschuldige mich - ich dachte, ich antworte auf Ihren Kommentar zur Antwort eines anderen auf eine andere Frage. Wie auch immer, ich habe den obigen Fehler erhalten, weil ich versucht habe, eine Datei über FTP herunterzuladen. Diese Antwort bietet eine Lösung für dieses Problem, "sogar" für Python3.
AstroFloyd

@AstroFloyd: Ja, requestsist rein für HTTP, keine anderen Protokolle.
Martijn Pieters

28

Ein weiterer Grund, vielleicht enthält Ihre URL einige versteckte Zeichen, wie z. B. '\ n'.

Wenn Sie Ihre URL wie folgt definieren, wird diese Ausnahme ausgelöst:

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

weil in der Zeichenfolge '\ n' versteckt sind. Die URL wird in der Tat:

\nhttp://google.com\n

9
Oder wenn Ihre URL versehentlich ein Tupel wegen eines nachgestellten Kommas isturl = self.base_url % endpoint,
Christian Long

@ChristianLong gibt es eine Möglichkeit, einen String in die richtige URL zu konvertieren? Kannst du mir sagen, was machst du in deinem Kommentar?
Ravi Shankar Bharti
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.