Протокол HTTP отправляет клиентский запрос на веб-сервер, извлекая определенные данные и информацию, если транзакция является законной. Используя множество методов, предоставленных в пакете запроса python, вы можете изучить ответ сервера. Поэтому сегодня в рамках этого руководства мы обсудим некоторые клиентские программы HTTP на python. Реализованные скрипты Python выполняются в основном на стороне клиента и показывают результаты ответа сервера в этой статье. Итак, давайте начнем с нашего первого примера в Spyder 3.
Пример 01:
Давайте попробуем наш первый пример, чтобы увидеть, как простая программа запроса работает в python. Эта программа будет не о HTTP-клиенте, а о простом запросе к указанному URL-адресу в сети. Во-первых, вам нужно импортировать модуль «requests» в ваш код. Мы должны использовать метод get() модуля «requests», чтобы получить все данные на сервере Google в текстовой форме. Итак, мы должны указать URL-адрес Google в параметре функции «get». Все текстовые данные будут храниться в переменной «res», объявленной и инициализированной во второй строке кода. Оператор печати использует переменную «res», чтобы отобразить ее в оболочке после преобразования в «текстовую» форму.
import requests res = requests.get('https://google.com') print(res.text)[:200]
После запуска этого кода с помощью кнопки «run» Spyder3 мы получили все данные указанного URL-адреса «google», хранящиеся в переменной «res». Таким образом, оператор печати использует переменную «res» в консоли для отображения данных текстового формата на консоли Spyder3.
Пример 02:
Давайте взглянем на другой пример HTTP-клиента. В нашем первом примере мы рассмотрели выполнение простого запроса к сетевому серверу. Теперь мы рассмотрим создание клиентского HTTP-соединения. Для этого вам нужно сначала импортировать модуль Python «HTTP.client» в начале вашего кода Python. После этого модуль HTTP.client используется для вызова функции «HTTPConnection()» для установления соединения с указанным URL-адресом. Здесь был использован URL-адрес Google.
Вы должны указать номер порта, к которому вы пытались подключиться, т. е. 80. Вы также должны указать время ожидания для этого HTTP-соединения. Здесь мы присвоили переменной «timeout» значение 10 секунд. Ответ на соединение будет сохранен в объекте соединения с именем «con». Эти переменные данные будут отображаться на консоли с использованием переменной «con» в предложении печати.
import http.client con = http.client.HTTPConnection('http://google.com', 80, timeout=10) print(con)
Давайте запустим трехстрочный код Python в Spyder 3, используя кнопку «run» в середине инструмента. После запуска этого кода мы получили вывод, показанный ниже в консоли Spyder 3. Соединение было установлено с указанным URL-адресом Google с использованием порта 80 и с указанным тайм-аутом для этого соединения.
Пример 03:
Давайте попробуем еще один пример создания клиентской программы HTTP на python для создания соединения. В приведенном выше примере мы рассмотрели, как создать соединение с помощью клиентского модуля HTTP и как получить ответ веб-сервера. Итак, вам нужно импортировать модуль «HTTP.client» в первой строке, используя ключевое слово «import». Модуль «HTTP.client» в дальнейшем будет использоваться для установления соединения с URL-адресом «journaldev» с помощью его функции «HTTPConnection()». Объект соединения «con» был объявлен для сохранения соединения HTTP-клиента.
Теперь тот же объект подключения «con» использовался для вызова функции «request», чтобы указать тип запроса, который мы должны сделать сейчас, т. е. «GET» означает получить ответ. В следующей строке мы использовали тот же объект «con» для вызова функции «getresponse()» модуля http.client. Используется для получения ответа с указанного URL и сохранения его в переменной «resp». Из данных ответа оператор печати выберет только отображение состояния ответа и причины этого конкретного состояния в обычном текстовом формате с использованием встроенных функций resp.status и resp.reason. Наконец, соединение следует закрыть, вызвав функцию «close()» модуля HTTP.client через объект соединения «con».
import http.client con = http.client.HTTPConnection("www.journaldev.com") con.request("GET", "/") resp = con.getresponse() print("Status: {} and reason: {}".format(resp.status, resp.reason)) con.close()
Мы получили приведенный ниже вывод, выполнив этот код для 6 строк, чтобы установить HTTP-соединение. Выходные данные показывают, что статус равен 301, и причина этого статуса заключается в том, что данные конкретного сервера перемещены навсегда.
Вывод:
Эта статья посвящена тому, как создать клиентское HTTP-соединение в python с помощью модуля http.client. Мы также обсудили, как выполнить простое подключение к веб-серверу с помощью простого модуля «запрос» в инструменте Python.