все Python 3http.clientисключение
http.client.InvalidURL
исключения
Ошибка в адресе: нечисловой или пустой порт, управляющие символы или пробел в пути запроса. Потомок HTTPException.
Синтаксис
raise http.client.InvalidURL(message)
Самый частый повод — схема в имени хоста: HTTPConnection('http://example.com') видит порт '//example.com'. Второй — пробел или перевод строки в пути: http.client отвергает их, защищаясь от подделки заголовков, поэтому путь нужно кодировать через urllib.parse.quote(). Ошибка возникает до всякой сети — при создании соединения или в putrequest().
Примеры
import http.client
from urllib.parse import quote
try:
http.client.HTTPConnection('example.com:abc')
except http.client.InvalidURL as e:
print(e) # → nonnumeric port: 'abc'
conn = http.client.HTTPConnection('example.com')
try:
conn.putrequest('GET', '/my file')
except http.client.InvalidURL:
print('use', quote('/my file')) # → use /my%20file
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности