Sobes.tech
Назад к вопросам
Junior — Middle
59

Имели ли вы опыт работы с протоколом HTTP через сокеты?

Ответ от нейросети

sobes.tech AI

Да, опыт работы с протоколом HTTP через сокеты в Python предполагает использование модуля socket для создания TCP-соединения и ручной отправки HTTP-запросов и обработки ответов. Это полезно для понимания низкоуровневой работы HTTP без использования высокоуровневых библиотек.

Пример простого HTTP GET запроса через сокеты:

import socket

host = 'example.com'
port = 80

request = f"GET / HTTP/1.1\r\nHost: {host}\r\nConnection: close\r\n\r\n"

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((host, port))
    s.sendall(request.encode())
    response = b''
    while True:
        data = s.recv(4096)
        if not data:
            break
        response += data

print(response.decode())

Такой подход позволяет самостоятельно разбирать HTTP-заголовки и тело ответа, что полезно для глубокого понимания протокола.