Android无法使用HttpURLConnection发送GET请求

Android无法使用HttpURLConnection发送GET请求,第1张

概述我正在尝试在我的应用程序中使用HttpURLConnection.我将我的请求方法设置为’GET’,但是当我尝试检索输出流时,该方法将更改为’POST’! 我不确定是什么原因,但是当我使用’POST’发送请求时,我的 JSON服务器(我使用JAX-RS)会返回一个空白页面. 这是我的代码片段: // Create the connectionHttpURLConnection con = (Ht 我正在尝试在我的应用程序中使用httpURLConnection.我将我的请求方法设置为’GET’,但是当我尝试检索输出流时,该方法将更改为’POST’!
我不确定是什么原因,但是当我使用’POST’发送请求时,我的 JSON服务器(我使用JAX-RS)会返回一个空白页面.

这是我的代码片段:

// Create the connectionhttpURLConnection con = (httpURLConnection) new URL(getUrl() + uriP).openConnection();// Add cookies if necessaryif (cookies != null) {  for (String cookie : cookies) {    con.addRequestProperty("cookie",cookie);    Log.d("JsONServer","Added cookie: " + cookie);  }}con.setDoOutput(true);con.setDoinput(true);con.setUseCaches(false);con.setRequestMethod("GET");con.setConnectTimeout(20000);// Add 'Accept' property in header otherwise JAX-RS/CXF will answer a XML streamcon.addRequestProperty("Accept","application/Json");// Get the output streamOutputStream os = con.getoutputStream();// !!!!! HERE THE REQUEST METHOD HAS BEEN CHANGED !!!!!!OutputStreamWriter wr = new OutputStreamWriter(os);wr.write(requestP);// Send the requestwr.flush();

谢谢你的回答.
埃里克

解决方法 但是GET请求应该没有内容……通过写入连接输出流,您正在将请求的性质更改为POST.该库非常有助于发现您正在执行此 *** 作… the doc for getOutputStream明确指出“调用此方法时,默认请求方法更改为”POST“.

如果您需要在GET中将数据发送到服务器,则需要以正常方式在URL参数中进行编码.

总结

以上是内存溢出为你收集整理的Android无法使用HttpURLConnection发送GET请求全部内容,希望文章能够帮你解决Android无法使用HttpURLConnection发送GET请求所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1122822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存