Робота з прикладними інтерфейсами (Web API)
Робота з прикладними інтерфейсами (Web API) в Python є важливою частиною сучасної розробки програмного забезпечення. Використовуючи API, ви можете отримувати та відправляти дані через HTTP-запити, працюючи з різними веб-службами, такими як сервіси соціальних мереж, платіжні системи, сервіси погоди тощо.
Основні кроки для роботи з Web API в Python
1. Встановлення бібліотеки `requests`:
Бібліотека `requests` спрощує відправку HTTP-запитів і роботу з відповідями.
pip install requests
2. Відправка запиту до Web API:
Основні типи HTTP-запитів:
– `GET`: Отримання даних
– `POST`: Надсилання даних для створення або оновлення ресурсу
– `PUT`: Оновлення існуючого ресурсу
– `DELETE`: Видалення ресурсу
import requests
- Приклад відправки GET-запиту
url = ‘https://jsonplaceholder.typicode.com/posts’
response = requests.get(url) - Перевірка статусу відповіді
if response.status_code == 200:
data = response.json() # Перетворення відповіді у формат JSON
print(data)
else:
print(f”Помилка: {response.status_code}”)
3. Робота з параметрами та заголовками запиту:
Ви можете передавати параметри та заголовки у ваш запит.
url = ‘https://jsonplaceholder.typicode.com/posts’
params = {‘userId’: 1} # Параметри запиту
headers = {‘Authorization’: ‘Bearer your_token’} # Заголовки запиту
response = requests.get(url, params=params, headers=headers)
if response.status_code == 200:
data = response.json()
print(data)
4. Відправка POST-запиту з даними:
При відправці POST-запиту ви зазвичай передаєте дані у форматі JSON або форми.
url = ‘https://jsonplaceholder.typicode.com/posts’
data = {
‘title’: ‘foo’,
‘body’: ‘bar’,
‘userId’: 1
}
response = requests.post(url, json=data)
if response.status_code == 201: # 201 означає успішне створення ресурсу
print(“Ресурс створений успішно”)
print(response.json())
else:
print(f”Помилка: {response.status_code}”)
5. Обробка помилок та виключень:
Під час роботи з API можуть виникати різні помилки, такі як проблеми з підключенням, невірні запити або помилки сервера. Бібліотека `requests` дозволяє обробляти ці помилки за допомогою виключень.
import requests
url = ‘https://jsonplaceholder.typicode.com/posts’
try:
response = requests.get(url, timeout=5)
response.raise_for_status() # Перевірка на HTTP-помилки
data = response.json()
print(data)
except requests.exceptions.HTTPError as http_err:
print(f’HTTP помилка: {http_err}’)
except requests.exceptions.ConnectionError as conn_err:
print(f’Помилка з’єднання: {conn_err}’)
except requests.exceptions.Timeout as timeout_err:
print(f’Час очікування вийшов: {timeout_err}’)
except requests.exceptions.RequestException as req_err:
print(f’Інша помилка: {req_err}’)
6. Приклад роботи з API для отримання погоди:
Давайте розглянемо приклад роботи з API для отримання погоди. Ми будемо використовувати сервіс [OpenWeatherMap](https://openweathermap.org/api).
import requests
api_key = ‘your_api_key’ # Зареєструйтесь на OpenWeatherMap, щоб отримати API-ключ
city = ‘Kyiv’
url = f’http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric’
response = requests.get(url)
if response.status_code == 200:
data = response.json()
temp = data[‘main’][‘temp’]
weather_description = data[‘weather’][0][‘description’]
print(f’Погода в {city}: {temp}°C, {weather_description}’)
else:
print(f”Помилка: {response.status_code}”)
Тест Python. Робота з прикладними інтерфейсами (Web API)
Висновок Робота з прикладними інтерфейсами (Web API)
Робота з Web API в Python за допомогою бібліотеки `requests` дозволяє інтегрувати різноманітні веб-сервіси у ваші програми. Це дає змогу автоматизувати завдання, отримувати або надсилати дані, взаємодіяти з іншими системами. Завдяки потужним можливостям `requests` ви можете легко обробляти HTTP-запити та будувати інтерактивні програми.