Передача данных JSON в запросе запроса в качестве тела запроса
Привет, мне нужно отправить запрос на получение URL-адреса
http://onemoredemo.appspot.com/group?authToken=access_token&authMethod=oauth
с телом запроса содержит объект json, как показано ниже.
{"goupid":"some_variable"
}
Вот раздел 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", "[email protected]");
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
Это давало мне правильный ответ, но теперь его более одного часа, так что acccesstoken истекает. Я знаю, что странно отправлять параметр, а также запрос в запрос get, но я должен его отправить.
Пожалуйста, помогите в том, как отправить объект json в тело запроса в запросе get.
Ответы
Ответ 1
Не делай этого.
Прочтите это:
http://tech.groups.yahoo.com/group/rest-discuss/message/9962
"Да. Другими словами, любому сообщению HTTP-запроса разрешено содержать и, следовательно, должен анализировать сообщения с учетом этого. сервер однако семантика GET ограничена таким, что тело, если оно есть, не имеет семантического значения для запроса. Требования к разбору не зависят от требований по семантике метода.
Итак, да, вы можете отправить тело с GET, и нет, никогда не полезно сделайте это.
Это часть многоуровневой конструкции HTTP/1.1, которая станет понятной снова, когда спецификация разделена (выполняется работа).
Для других интересных обсуждений по этой проверке:
fooobar.com/questions/1183/...
fooobar.com/questions/1183/...
fooobar.com/questions/1183/...
Ответ 2
Тело запроса GET не читается.
Вы пытались добавить его к параметрам:
http://onemoredemo.appspot.com/group?authToken=access_token&authMethod=oauth & goupid = some_variable