Запити Python - немає адаптерів для підключення


Відповіді:


381

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

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

Без http://частини, requestsпоняття не має, як підключитися до віддаленого сервера.

Зверніть увагу, що схема протоколу повинна бути всіма малими літерами; якщо ваша URL-адреса починається, HTTP://наприклад, він також не знайде http://адаптера з'єднання.


@MartijnPieters Який пакет ви рекомендуєте завантажити файл за допомогою ftp?
АстроФлойд

@AstroFloyd У мене немає жодних рекомендацій, вибачте.
Martijn Pieters

Прошу вибачення - я думав, що відповідаю на ваш коментар щодо чужої відповіді на інше запитання. У всякому разі, я отримав вищезгадану помилку, тому що намагався завантажити файл через FTP. Ця відповідь дає рішення для цієї проблеми "навіть" для Python3.
AstroFloyd

@AstroFloyd: так, requestsсуто для HTTP, а не для інших протоколів.
Martijn Pieters

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.