Python Requests - Нет адаптеров подключения


Ответы:


385

Вам необходимо включить схему протокола:

'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, как показано ниже, это исключение вызовет:

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

потому что в строке скрывается '\ n'. URL фактически становится:

\nhttp://google.com\n

9
Или, если ваш URL-адрес случайно является кортежем из-за запятой в концеurl = self.base_url % endpoint,
Кристиан Лонг,

@ChristianLong есть ли способ преобразовать строку в правильный URL? Мол, можете ли вы сказать мне, что вы делаете в своем комментарии?
Рави Шанкар Бхарти
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.