JSON 形式を使用して Web サイト API に変数を投稿する必要があります。いくつかの調査とテスト用の投稿サーバーを使用した後、次の文字列を思いつきました。
curl -H "Content-Type: application/json" -X POST -d '{"id":"value"}' http://posttestserver.com/post.php
Successfully dumped 0 post variables.
View it at http://www.posttestserver.com/data/2015/09/12/09.46.20574590076
Post body was 12 chars long.
ただし、変数は文字列から解析されません (この場合、変数「id」が見つかるはずです)。代わりに、すべてが投稿本文に入れられます。
完全な投稿リクエストは、指定されたアドレスで見ることができます:
Time: Sat, 12 Sep 15 09:46:20 -0700
Source ip: 178.112.221.72
Headers (Some may be inserted by server)
HTTP_CONNECTION = close
REQUEST_URI = /post.php
QUERY_STRING =
REQUEST_METHOD = POST
GATEWAY_INTERFACE = CGI/1.1
REMOTE_PORT = 53709
REMOTE_ADDR = 178.112.221.72
CONTENT_LENGTH = 12
CONTENT_TYPE = application/json
HTTP_ACCEPT = */*
HTTP_USER_AGENT = curl/7.43.0
HTTP_HOST = posttestserver.com
UNIQUE_ID = VfRW3NBx6hIAAHNyJToAAAAK
REQUEST_TIME_FLOAT = 1442076380.6991
REQUEST_TIME = 1442076380
No Post Params.
== Begin post body ==
'{id:value}'
== End post body ==
Upload contains PUT data:
'{id:value}'
ここで、データは「投稿本文」と PUT の下の両方に表示されます。しかし、ここでも投稿パラメーターはリストされていません。
私は何か間違ったことをしていますか?JSON を使用して変数を投稿することはまったく可能ですか ( with を使用する方法id=value&id2=value2
) application/x-www-form-urlencoded
?
PS同様の投稿を見つけました(curlを使用してREST / JSONサービスに投稿する方法は?)、サーバーによって異なります。しかし、私の場合、このテストサーバーを使用することで、実際の「生の」リクエストが表示されるはずです(posttestserver.com から引用)
「したがって、* HTTP POST のコンテンツをファイルにダンプして、後で表示できる簡単なサービスをまとめました。」
)。