Эквивалент encodeURIComponent на ESP8266 - PullRequest
0 голосов
/ 30 апреля 2019

Что является эквивалентом JavaScript encodeURIComponent на ESP8266 / NodeMCU в Arduino.

У меня возникли некоторые проблемы со строками, которые я пытаюсь отправить на мой сервер, исправление будет encodeURIComponentих.

Есть ли способ сделать это, или я должен был бы создать библиотеку, чтобы сделать это для себя?

Вот пример моего кода

bool SubmitData(MessageType data){
  if (WiFi.status() == WL_CONNECTED)
  {
    HTTPClient http

    String postData = "sender=" + data.Sender + "&message=" + data.Message + "&datetime=" + data.Date;
    http.begin("http://example.com/api/v1/newdata");
    http.addHeader("Content-Type", "application/x-www-form-urlencoded");  

    int httpCode = http.POST(postData);
    String payload = http.getString();
    Serial.println("Result: " + payload + " - " + httpCode);

    http.end();  //Close connection
    if(httpCode == 200)
      return true;
  }
  return false;
}

Пример

Исходная строка: from=user@mail.com&to=user@mail.com&text=Test message post + anoher&subject=Alarm!!!

Должна стать

Кодированная строка: from=user%40mail.com&to=user%40mail.com&text=Test%20message%20post%20%2B%20anoher&subject=Alarm%21%21%21

Спасибо!

...