Если речь об отсутствии сторонних пакетов, используйте urllib.request из стандартной библиотеки. Без любых модулей Python не предоставляет полноценный встроенный HTTP-клиент.
Как на Python без библиотек отправить HTTP-запрос к `yandex.ru`?
Если речь об отсутствии сторонних пакетов, используйте urllib.request из стандартной библиотеки. Без любых модулей Python не предоставляет полноценный встроенный HTTP-клиент.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Если речь об отсутствии сторонних пакетов, используйте urllib.request из стандартной библиотеки. Без любых модулей Python не предоставляет полноценный встроенный HTTP-клиент.
from urllib.request import urlopen
with urlopen('https://yandex.ru', timeout=5) as response:
print(response.status)
print(response.read(1024))
Пример читает только начало ответа, чтобы не загружать произвольный объём в память. urllib обрабатывает HTTP и обычные перенаправления; ошибки сети и HTTP нужно обрабатывать в вызывающем коде. Если интервьюер запрещает именно HTTP-библиотеки, можно собрать запрос поверх socket, но для HTTPS потребуется TLS через ssl, а затем корректный разбор протокола. Это уже другая постановка.
Источник: docs.python.org.