Робота з мережею

Відкрита

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. Усе це чекає тебе в недалекому майбутньому.

2
Задача
Модуль 1: Python Core,  13 рівень2 лекція
Недоступна
Відправка GET-запиту
Відправка GET-запиту
2
Задача
Модуль 1: Python Core,  13 рівень2 лекція
Недоступна
Відправка POST-запиту
Відправка POST-запиту
Коментарі
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Для цієї сторінки немає коментарів.