JSONをESP8266のArduinoモジュールに送信しようとしています。私は単純なWebサーバーを持っています.SSLは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);
編集:
例:私はこのペイロードを印刷するとき、次に
{"pass": "test+test"}
:私はのようなJSONを送信する場合+
記号が付いていません(ただしこれはASCII記号です)
リクエスト(wireshark):
0ボードからchar配列ペイロード:
JSONは要求ペイロードPOSTメソッドで送信されます。だから、私は本当にURIエンコーディングメソッドを使用してこのコンテンツをエンコードする必要がありますか?なぜライブラリーをスペース文字に変更するのですか? – kris14an
[POSTデータもエンコードする必要があります](https://en.wikipedia.org/wiki/POST_(HTTP)#Use_for_submitting_web_forms) –
このjsonをエンコードすると正常に動作しますが、クライアントからこのデータを読み取る方法です元のバイトを使用して接続ストリーム? – kris14an