LINUX.ORG.RU

Подключение к Telegram с помощью АТ команд

 , , ,


0

1

Пробую подключиться к Telegram bot с помощью AT команд ESP8266. Пишет, что неправильный запрос - вместо HTTPS получает HTTP. Как можно отправить запрос АТ командами?

AT
AT+CWMODE=3
AT+CWQAP
AT+RST
AT+CWJAP_CUR="Qwerty","Qwerty"
AT+CIFSR
AT+CIPMUX=1
AT+CIPSERVER=1,80
AT+CIPSSLCCONF=2
AT+CIPSSLSIZE=4096
AT+CIPSTART=0,"TCP","api.telegram.org",443
AT+CIPSEND=0,154
>GET /bot4562385428:GHRxtG85bfBDdaE5I3PnZT-A1Lgg-zjKTOU/sendmessage?chat_id=593816732&text=3333 HTTP/1.1
>Host: api.telegram.org
>Connection: close
>
>
Recv 154 bytes

SEND OK

+IPD,0,595:HTTP/1.1 400 Bad Request
Server: nginx/1.16.1
Date: Sun, 08 Nov 2020 20:03:43 GMT
Content-Type: text/html
Content-Length: 255
Connection: close
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection

<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx/1.16.1</center>
</body>
</html>
0,CLOSED

AT+CIPCLOSE=0

Ответ на: комментарий от manntes-live

Если поставить SSL, то происходит соединение и сразу же разъединение, не даёт сделать отправку сообщения.

GeoSh
() автор топика
Ответ на: комментарий от torvn77

Arduino IDE там запускаю мониторинг порта и в него отправляют АТ команды. Есть реализация в скетче, то там часто проблемы с шрифтами и отладочную информацию не вывожу, а так полностью аналогично все работает. Операционная система manjaro.

GeoSh
() автор топика
Ответ на: комментарий от manntes-live

В ssl надо как-то передать сертификат, но как - найти не могу. Смотрел исходные коды отправки запроса из браузера (chromium), за исключением дополнительной служебной информации всё полностью аналогично.

GeoSh
() автор топика

Без openssl ты руками тут ничего не сделаешь. Как вариант, можно в сети поднять http-прокси, чтобы снимать шифрование.

melkor217 ★★★★★
()
Ответ на: комментарий от GeoSh

я конечно не эксперт, но вроде же у них в гайде написано

  • esp_ca_cert.bin downloads to 0xFB000 by default
  • esp_cert_private_key.bin downloads to 0xFC000 by default
  • Users can revise the SYSTEM_PARTITION_SSL_CLIENT_CA_ADDR and SYSTEM_PARTITION_SSL_CLIENT_CERT_PRIVKEY_ADDR in user_main.c to change the downloading addresses

еще есть отдельный «ESP8266 SSL User Manual», в котором написано, как генерировать свои сертификаты или использовать существующие.

Lrrr ★★★★★
()
Ответ на: комментарий от Lrrr

Каюсь, был неправ постом выше, не знал о таких фичах железки.

melkor217 ★★★★★
()
Ответ на: комментарий от Lrrr

Не силен я в этом. Не могу найти ничего толкового в сети. Можете посоветовать как с этим работать?

GeoSh
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.