вставка переменных в URL по запросу esp8266 - PullRequest
0 голосов
/ 20 марта 2019

Я хочу сделать программу для отправки сообщений на BotTelegram, в мой кодек Я использую WifiClientSecure для выполнения запросов HTTPS, я знаю, что есть Telegram Bot lib для ESP8266, но я не хочу использовать его по какой-то причине. что делает это проблематичным, а именно объединение между URL и переменной токены, всегда есть проблемы

String token ="xxxx:xxxxxx_xxxxxxxxxxx";
String chat_id ="xxxxxx";    
String url = "/bot"+token+"/sendMessage?chat_id="+chat_id+"&text=node";
          Serial.print("requesting URL: ");
          Serial.println(url);


        String request = String("GET ") + url + " HTTP/1.0\r\n" +
                         "Host: " + host + "\r\n" +
                         "Accept: *" + "/" + "*\r\n" +
                          "User-Agent: BuilderFailureDetectorESP8266\r\n" +
                          "Connection: close\r\n\r\n" ;
          Serial.println(request);               
          client.print(request);

и вывод перед отправкой, как показано ниже

GET /botxxxx:xxxxxx_xxxxxxxxxxx

отображается только перед токеном, поэтому запрос не прошел. но если я пишу напрямую без ввода переменной, запуск nomal не проблема, как показано ниже

String url = "/botxxxx:xxxxxx_xxxxxxxxxxx/sendMessage?chat_id=xxxxxx&text=node";
          Serial.print("requesting URL: ");
          Serial.println(url);


        String request = String("GET ") + url + " HTTP/1.0\r\n" +
                         "Host: " + host + "\r\n" +
                         "Accept: *" + "/" + "*\r\n" +
                          "User-Agent: BuilderFailureDetectorESP8266\r\n" +
                          "Connection: close\r\n\r\n" ;
          Serial.println(request);               
          client.print(request);

Кто-нибудь может мне помочь, я пытался добавить String(token), но это не работает

...