- Головна
-
- Встановлення Python.
- Налаштування віртуального оточення
- Типи даних
- Математичні оператори
- Встроїні функції
- Бібліотеки Python
- Колекція List
- Кортежі Tuple
- Множини (Set)
- Рядки Str
- Список escape-символів
- Колекція Dictionary
- Множина frozenset
- Класи та об'єкти
- Винятки
- Пакетні менеджери
- Перевантаження операторів
- Робота з файлами та директоріями
- HttpClient
- HTTPServer
- Модуль socket
- Робота з пошту
- Багатопоточність
- Асинхронні методи
- Event Loop
- Обхід GIL
- Черга deque
- Масиви постійного розміру
-
- Webpack. Базове складання проекту
- GULP. SCSS. Налаштування оточення
- SCSS стилі особливості
- Шпаргалка SQL
- MySQL dump
- Git команди
- Розгорнути ssh git репозиторію на сервері
- Консольні команди
- Декілька версій PHP на сервері
- PHPStorm+xDebug+OpenServer
- PHPUnit + OpenServer
- Додати застосунок з Windows Store в автозавантаження
- Зовнішні посилання
HttpClient
Основні класи і методи http.client
| Клас/Метод | Опис |
|---|---|
| HTTPConnection | Створення HTTP-підключення. |
| HTTPSConnection | Створення HTTPS-підключення. |
| request(method, url, ...) | Відправка HTTP-запиту. |
| getresponse() | Отримання відповіді на запит. |
| response.status | Статус-код відповіді. |
| response.reason | Текстовий опис статусу відповіді. |
| response.read() | Читання даних відповіді. |
| response.getheaders() | Отримання всіх заголовків відповіді. |
| response.getheader(name) | Отримання значення конкретного заголовку. |
Виконання GET-запиту
import http.client
# Створення підключення
conn = http.client.HTTPSConnection("jsonplaceholder.typicode.com")
# Відправка GET-запиту
conn.request("GET", "/posts/1")
# Отримання відповіді
response = conn.getresponse()
print(response.status, response.reason)
# Читання і декодування даних відповіді
data = response.read().decode('utf-8')
print(data)
# Отримання всіх заголовків відповіді
headers = response.getheaders()
for header in headers:
print(f"{header[0]}: {header[1]}")
# Закриття підключення
conn.close()Виконання POST-запиту
import http.client
import json
# Дані для відправки
payload = json.dumps({
"title": "foo",
"body": "bar",
"userId": 1
})
# Заголовки
headers = {
'Content-Type': 'application/json'
}
# Створення підключення
conn = http.client.HTTPSConnection("jsonplaceholder.typicode.com")
# Відправка POST-запиту
conn.request("POST", "/posts", body=payload, headers=headers)
# Отримання відповіді
response = conn.getresponse()
print(response.status, response.reason)
# Читання і декодування даних відповіді
data = response.read().decode('utf-8')
print(data)
# Закриття підключення
conn.close()Запит через проксі
import http.client
# Налаштування проксі-сервера
proxy_host = '10.10.1.10'
proxy_port = 3128
dest_url = 'httpbin.org'
dest_path = '/ip'
# Створення з'єднання з проксі-сервером
conn = http.client.HTTPConnection(proxy_host, proxy_port)
# Формування і відправка запиту
conn.set_tunnel(dest_url)
conn.request('GET', dest_path)
# Отримання відповіді
response = conn.getresponse()
print(response.status, response.reason)
print(response.read().decode('utf-8'))
# Закриття з'єднання
conn.close()
2015-2026 © SumyNikNet