10

こんにちは、URL http://onemoredemo.appspot.com/group?authToken=access_token&authMethod=oauthに get リクエストを送信する必要があります

以下に示すように、リクエストボディにはjsonオブジェクトが含まれています。

{"goupid":"some_variable"
}

get リクエストを送信するための Java コードのセクションを次に示します。

URL url1=new URL("http://onemoredemo.appspot.com/group?authToken="+access_token+"&authMethod=oauth");
conn=(HttpURLConnection) url1.openConnection();
conn.addRequestProperty("Content-type", "application/x-www-form-urlencoded");

conn.setRequestMethod("GET");
conn.setDoOutput(true);
JSONObject jj=new JSONObject();
HttpGet get;
get.

jj.put("groupid", "testing@iritesh.com");
conn.addRequestProperty("Content-TYpe", "application/json");
conn.getOutputStream().write(jj.toString().getBytes());
conn.connect();
InputStream is=conn.getInputStream();

エラーが発生しますjava.io.FileNotFoundException

Mozillaブラウザーから URL
http://onemoredemo.appspot.com/group?authToken=ya29.AHES6ZRDl-RqiA8W0PhybU_hMluHrHRjlJBvq06Vze0izJq0Ovjc088&authMethod=oauth
にリクエストを送信しましたが、正しい応答が得られましたが、現在は 1 時間以上経過しているため、アクセストークンが期限切れになります。get リクエストでパラメータと requestbody を送信するのは奇妙だと思いますが、送信する必要があります。

getリクエストのリクエストボディでjsonオブジェクトを送信する方法を教えてください。

4

2 に答える 2

14

やらないでください。

これを読んでください: http://tech.groups.yahoo.com/group/rest-discuss/message/9962

「はい。つまり、どの HTTP 要求メッセージにもメッセージ本文を含めることが許可されているため、それを念頭に置いてメッセージを解析する必要があります。ただし、GET のサーバー セマンティクスは、本文が存在する場合でも意味を持たないように制限されています。解析に関する要件は、メソッドのセマンティクスに関する要件とは別のものです。

したがって、はい、GET で本文を送信できます。いいえ、そうすることは決して役に立ちません。

これは HTTP/1.1 の階層化された設計の一部であり、仕様が分割されると再び明らかになります (進行中の作業)。」

これに関する他の興味深い議論については、これをチェックしてください:

https://stackoverflow.com/a/978094/550967

https://stackoverflow.com/a/978173/550967

https://stackoverflow.com/a/978519/550967

于 2012-07-20T08:55:16.100 に答える
2

GET 要求の本文は読み取られません。

パラメータに追加してみましたか:

http://onemoredemo.appspot.com/group?authToken=access_token&authMethod=oauth &goupid=some_variable

于 2012-07-20T08:57:42.490 に答える