Отправка сырых API запросов на телеграм для ботов на питоне

Задача реализовать телеграм бот на питоне через сырые HTTP запросы. Основная часть функционала реализована - GET, POST запросы с шифровкой SSL для отправки через HTTPS. Но вот задача отправлять ответы на сообщения пользователя пока недостигнута.

Момент, когда пользователь отбавил боту сообщение. Есть id чата. И нужно собрать HTTP запрос, в котором будет API с ответом. Через браузер запрос выглядит так:

https://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=<ID_чата>&text='hello'

Такой запрос работает. Даже больше - через фаерфокс есть и сам запрос:

GET /bot<TOKEN>/sendMessage?chat_id=<ID_чата>&text="hello" HTTP/1.1
Host: api.telegram.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate     
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Pragma: no-cache
Cache-Control: no-cache

Но вот на него бот не реагирует. Отправляет запрос такой код:

def client():
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    url = 'api.telegram.org'

    context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
    s_sock = context.wrap_socket(sock, server_hostname=url)
    s_sock.connect((url, 443))

    s_sock.send(<запрос в байт строках>)

    data = s_sock.recv(512)
    print(data.decode())

    s_sock.close()
    sock.close()

Сам код отправки рабочий - успешно отправляет запросы с API getMe.


Ответы (0 шт):