我可以使用HttpURLConnection进行http GET并包含一个正文吗?

时间:2013-09-06 18:37:01

标签: java android get httpurlconnection

我需要为REST服务执行http GET并在GET中包含一个正文。不幸的是,在连接上设置#setDoOutput( true )会强制POST。无论如何要发送GET身体?

编辑:我正在尝试发送的正文是JSON。

2 个答案:

答案 0 :(得分:1)

无法使用HttpURLConnection发送HTTP GET的内容。通过在setDoOutput(true)上设置HttpURLConnection,动词将被强制为POST。

我正在使用的REST API文档描述了相关端点的JSON主体,但接受了URL参数。

答案 1 :(得分:0)

可能无法通过HttpUrlConnection实现,虽然您可以通过其他API实现,但如果您必须这样做,那么您在架构中出错的可能性很高,因为它违背了基本规则使用GET Http方法和不同的问题可能会出现如下: 如果您尝试利用缓存,Proxies将不会查看GET正文以查看参数是否会对响应产生影响。 它不是基于标准实践的良好实现,它可能会导致某些浏览器/服务出现问题。

请查看此问题以获取更多信息。

HTTP GET with request body

希望这有帮助。

问候!