Permintaan Python - Tidak ada adaptor koneksi

Jawaban:

384

Anda perlu memasukkan skema protokol:

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

Tanpa http://bagian, requeststidak tahu bagaimana cara terhubung ke server jauh.

Perhatikan bahwa skema protokol harus semuanya huruf kecil; jika URL Anda mulai dengan HTTP://misalnya, ia tidak akan menemukan http://adaptor koneksi juga.

Martijn Pieters
sumber
@ MartijnPieters Paket mana yang Anda rekomendasikan untuk mengunduh file menggunakan ftp?
AstroFloyd
@AstroFloyd Saya tidak punya rekomendasi di sana, maaf.
Martijn Pieters
Saya minta maaf - saya pikir saya membalas komentar Anda tentang jawaban orang lain untuk pertanyaan yang berbeda. Lagi pula, saya mendapatkan kesalahan di atas karena saya mencoba mengunduh file melalui FTP. Jawaban ini memberikan solusi untuk masalah itu, "bahkan" untuk Python3.
AstroFloyd
@AstroFloyd: ya, requestsmurni untuk HTTP, bukan protokol lain.
Martijn Pieters
28

Satu alasan lagi, mungkin url Anda menyertakan beberapa karakter tersembunyi, seperti '\ n'.

Jika Anda mendefinisikan url Anda seperti di bawah ini, pengecualian ini akan meningkatkan:

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

karena ada '\ n' sembunyikan di string. URL sebenarnya menjadi:

\nhttp://google.com\n
Nama raja
sumber
9
Atau jika url Anda secara tidak sengaja tupel karena koma yang tertinggalurl = self.base_url % endpoint,
Christian Long
@ChristianLong apakah ada cara untuk mengkonversi string ke url yang benar? Seperti, bisakah Anda memberi tahu saya, apa yang Anda lakukan dalam komentar Anda?
Ravi Shankar Bharti