3.1 Модуль requests
Для базової роботи з інтернетом у Python є бібліотека
requests
. Вона надає зручний інтерфейс для
роботи з мережею, дозволяючи відправляти HTTP-запити та отримувати відповіді з
мінімальними зусиллями.
Ця бібліотека не постачається разом з Python, тому перед її використанням тобі потрібно встановити її за допомогою менеджера пакетів.
Відкрий свій термінал і напиши:
pip install requests
Після встановлення бібліотеки ти можеш використовувати модуль requests
у
своїх проектах. Наприклад, ось так ти можеш визначити свою зовнішню
IP-адресу:
import requests
response = requests.get("http://ip.jsontest.com/")
print(response.status_code) # Виводить статус код відповіді
print(response.json()) # Виводить JSON-відповідь
Тут ми відправили запит на сервіс (сайт) ip.jsontest.com
, який повертає JSON-об'єкт з
IP-адресою, з якої до нього прийшов запит. Саме звернення і отримання відповіді виконується в один рядок — це
дуже зручно. В інших рядках ми просто роздрукували відповідь сервера.
В прикладі вище ми викликали метод get()
, нижче я розповім про цей метод і про інші методи об'єкта
requests.
3.2 Список методів
У об'єкта requests
є методи на всі випадки життя, а вірніше по одному методу на кожен тип HTTP-запиту.
Метод | Опис |
---|---|
requests.get()
|
Відправляє GET-запит для отримання даних з сервера. |
requests.post() |
Відправляє POST-запит для відправки даних на сервер. |
requests.put() |
Відправляє PUT-запит для оновлення даних на сервері. |
requests.delete() |
Відправляє DELETE-запит для видалення даних з сервера. |
requests.head() |
Відправляє HEAD-запит для отримання заголовків без тіла відповіді. |
requests.options() |
Відправляє OPTIONS-запит для отримання підтримуваних методів і параметрів сервера. |
requests.patch() |
Відправляє PATCH-запит для часткового оновлення даних на сервері. |
requests.request() |
Основний метод для відправки всіх типів HTTP-запитів . |
Нижче ми розглянемо найосновніші з них.
3.3 Відправка GET-запиту
та POST-запиту
GET-запит
зазвичай складається тільки з URL, або ж може містити додатковий рядок параметрів.
1. Відправка чистого GET-запиту
GET-запит
використовується для отримання даних з сервера. Обов'язковим параметром є URL, на яку і
відправляється запит.
Приклад:
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code) # Виводить статус код відповіді
print(response.json()) # Виводить JSON-відповідь
2. Відправка GET-запиту
з параметрами
Також URL може містити додаткові параметри у вигляді рядка key=value&key2=value2&…
У нашому випадку параметри передаються у вигляді словника та змінної params
:
import requests
params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())
3. Відправка POST-запиту
POST-запит
може містити тіло запиту: текст, JSON або навіть картинку.
Приклад:
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())
3.4 Відправка PUT-запиту
та DELETE-запиту
1. Відправка PUT-запиту
PUT-запит
використовується для оновлення даних на сервері.
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)
print(response.json())
2. Відправка DELETE-запиту
DELETE-запит
використовується для видалення даних з сервера.
import requests
response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())
Щоб краще розуміти суть GET
, POST
, PUT
і DELETE
запитів, тобі потрібно прочитати лекції про пристрій мережі,
інтернет, веб і HTTP
. Усе це чекає тебе в недалекому майбутньому.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ