繁体   English   中英

将获取请求中的 JSON 数据作为请求正文传递

[英]Passing JSON data in get request as request body

嗨,我必须向网址发送获取请求
http://onemoredemo.appspot.com/group?authToken=access_token&authMethod=oauth

请求正文包含 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
它给了我正确的回应,但现在它超过了一个小时,所以访问令牌过期了。 我知道在 get 请求中发送参数和 requestbody 很奇怪,但我必须发送它。

请帮助如何在获取请求的请求正文中发送 json 对象。

不要这样做。

阅读: 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

不读取 GET 请求的正文。

您是否尝试将其添加到参数中:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM