Ответ
В Python для клиент-серверного взаимодействия используются различные протоколы, выбор которых зависит от конкретной задачи:
-
HTTP/HTTPS: Стандарт для веб-приложений и REST API. Реализуется с помощью библиотек, таких как
requests
(для синхронных клиентов) иhttpx
илиaiohttp
(для асинхронных). -
WebSockets: Используется для двунаправленной real-time коммуникации, например, в чатах или онлайн-играх. Популярные библиотеки:
websockets
,aiohttp
. -
TCP/UDP: Низкоуровневые протоколы для задач, где требуется максимальный контроль над передачей данных. Для работы с ними используется встроенный модуль
socket
.
Пример простого HTTP-клиента с requests
:
import requests
try:
# Отправляем GET-запрос к API
response = requests.get("https://api.github.com/users/python")
response.raise_for_status() # Проверяем, что запрос успешен (код 2xx)
# Выводим полученные данные в формате JSON
data = response.json()
print(f"Имя пользователя: {data['login']}")
print(f"Количество репозиториев: {data['public_repos']}")
except requests.exceptions.RequestException as e:
print(f"Произошла ошибка: {e}")
Ключевым фактором при выборе является требование к приложению: стандартный веб-запрос (HTTP), постоянное соединение (WebSockets) или прямой контроль над пакетами (TCP/UDP).