2016-12-27 11 views
1

arduinoのPUTメソッドを使用してApache HTTPサーバーに引数としてデータ(json形式の文字列)を送信しようとしています。サーバーからの返信は418ティーポットの返信です。 これはTCPリクエスト、http、phpを使用した私の最初のプロジェクトです - このため、私はこの方向に堅実な背景を持っていません。Apache HTTPサーバーの応答418( "私はティーポット"です) - json引数、arduinoからのPUTを使用したTCP要求

文字列:

{%221%22:%22FE005F719444%22,%222%22:%22ooooooooooxo%22,%223%22:%22ooooooooooxo%22} 

TCP要求:

PUT /proxyJson/index.php/?YOUR_data={%221%22:%22FE005F719444%22,%222%22:%22ooooooooooxo%22,%223%22:%22ooooooooooxo%22} HTTP/1.1 200 OK 
Host: 192.168.xx.xxx 
User-Agent: 192.168.xx.xxy 
Content-Type: text/html; charset=iso-8859-1 
Content-Length: 0 
Connection: close 

Apacheのアクセスログ:ブラウザで直接データを入力した場合

192.168.xx.xxy - - [27/Dec/2016:19:50:22 +0200] "GET /proxyJson/index.php/?YOUR_data= {%221%22:%22FE005F719444%22,%222%22:%22ooooooooooxo%22,%223%22:%22ooooooooooxo%22} HTTP/1.1" 400 226 

スクリプトがうまく動作します。

php script result

私は何をしないのですか? 返信とサポートをありがとう。

ジョージ

+0

投稿を読みやすくするために投稿を編集することを検討する必要があります。 – nyedidikeke

+0

余分なスペースは何ですか? –

+0

スペースを削除しました。要するに、サーバーは要求を気に入らず、理由を知らない。同じコードがhttp://www.firebasedemo.hol.es/index.php/?YOUR_data={"0":"tag1""1":"tag2 "}でうまく機能しました – Corsar

答えて

0

リクエストに間違いがあります。 最初の行は次のようになります。

なし
PUT /proxyJson/index.php/?YOUR_data={%221%22:%22FE005F719444%22,%222%22:%22ooooooooooxo%22,%223%22:%22ooooooooooxo%22} HTTP/1.1 

200 OK 

また、私はリクエストのボディにあなたのデータを送信お勧めします。 だからあなたの要求は次のようになります。

PUT /proxyJson/index.php HTTP/1.1 
Host: 192.168.xx.xxx 
User-Agent: 192.168.xx.xxy 
Content-Type: application/json 
Content-Length: 58 
Connection: close 

{"1":"FE005F719444","2":"ooooooooooxo","3":"ooooooooooxo"} 

Content-TypeContent-Lengthヘッダの目的であること。

関連する問題