HTTP (Hypertext Transfer Protocol) - это протокол передачи гипертекста, который используется для передачи данных между веб-сервером и веб-браузером. В Python для работы с HTTP-запросами и ответами используется модуль requests
.
Установить модуль requests
можно с помощью pip: pip3 install requests
После установки библиотеки можно выполнять запросы. Наиболее распространенными являются GET и POST запросы.
Пример GET запроса:
import requests
response = requests.get('<https://www.google.com/>')
print(response.status_code)
print(response.text)
В данном примере выполняется GET запрос на сайт google.com. В ответ мы получаем статус-код (200, если запрос прошел успешно) и содержимое страницы в виде текста.
Пример POST запроса:
import requests
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('<https://httpbin.org/post>', data=data)
print(response.status_code)
print(response.text)
В данном примере выполняется POST запрос на сайт httpbin.org, который является тестовым сайтом для проверки работы HTTP-запросов. В ответ мы получаем статус-код и содержимое страницы в виде JSON-объекта, который содержит переданные в POST запросе данные.
┌──(kali㉿kali)-[~]
└─$ python3 test.py
200
{
"args": {},
"data": "",
"files": {},
"form": {
"key1": "value1",
"key2": "value2"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Content-Length": "23",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.28.1",
"X-Amzn-Trace-Id": "Root=1-643e501b-5efe99f270b32a05588a947c"
},
"json": null,
"origin": "Ваш внешний IP адрес",
"url": "<https://httpbin.org/post>"
}
В запросах также можно указывать заголовки (headers), параметры (params), cookies и многое другое.
Например, можно выполнить GET запрос с заголовком:
import requests
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get('<https://www.google.com/>', headers=headers)
print(response.status_code)
print(response.text)
В данном примере мы указываем заголовок User-Agent, который говорит серверу, что мы используем браузер Mozilla/5.0. Без указания этого заголовка Google будет возвращать страницу, оптимизированную для мобильных устройств.