JSON을 ESP8266이있는 Arduino 모듈로 보내려고합니다. 나는 장치가 연결되어야하는 SSID와 암호로 JSON을 기다리는 간단한 웹 서버를 가지고있다.ESP8266 Arduino 요청 콘텐츠 인코딩
ESP8266WebServer server(80);
server.on("/config", HTTP_POST, configHandle);
server.begin();
void handleConfig() {
String payload = server.arg("plain");
//convert JSON to char[]
//parse using jsmn lib
}
비밀 번호에 비 ASCII 문자가 포함되면 어떨까요? 방법이 인수를 넣어 어떻게 처리 할 수있는 요청 내용 :
WiFi.begin(ssid, pass);
편집 :
예 : 내가 좋아하는 JSON을 보내는 경우 : 다음
{"pass": "test+test"}
,이 페이로드를 인쇄 할 때 +
기호가 표시되지 않습니다 (단,이 기호는 ASCII 기호입니다)
요청 (wireshark) :
0 보드문자 배열 페이 :
JSON이 요청 페이로드 POST 메서드로 전송됩니다. 그래서, 정말 URI 인코딩 방법을 사용하여이 콘텐츠를 인코딩해야합니까? 라이브러리가 우주 문자로 바뀌는 이유와이 솔루션을 방지하는 방법은 무엇입니까? – kris14an
[POST 데이터도 인코딩해야합니다] (https://en.wikipedia.org/wiki/POST_ (HTTP) #Use_for_submitting_web_forms) –
이 json을 인코딩하면 제대로 작동하지만 클라이언트에서이 데이터를 읽을 수있는 방법입니다. 원래 바이트를 사용하는 연결 스트림? – kris14an