当前位置: 首页 > 面试题库 >

即使httpCon.setRequestMethod(“ GET”); HttpURLConnection也会发送POST请求。被设置

督瑞
2023-03-14
问题内容

这是我的代码:

String addr = "http://172.26.41.18:8080/domain/list";

URL url = new URL(addr);
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setDoOutput(true);
httpCon.setDoInput(true);
httpCon.setUseCaches(false);
httpCon.setAllowUserInteraction(false);
httpCon.setRequestMethod("GET");
httpCon.addRequestProperty("Authorization", "Basic YWRtaW4fYFgjkl5463");

httpCon.connect();

OutputStreamWriter out = new OutputStreamWriter(httpCon.getOutputStream());

System.out.println(httpCon.getResponseCode());
System.out.println(httpCon.getResponseMessage());

out.close();

我的回应是:

500服务器错误

我打开我的httpCon变量,然后看到:

POST / rest / platform / domain / list HTTP / 1.1

即使我曾经将httpCon.setRequestMethod("GET");其设置为GET,为什么也将其设置为POST ?


问题答案:

httpCon.setDoOutput(true);请求方法隐式设置为POST,因为这是您要发送请求正文时的默认方法。

如果要使用GET,请删除该行并删除该OutputStreamWriter out = new OutputStreamWriter(httpCon.getOutputStream());行。您无需发送GET请求的请求正文。

对于简单的GET请求,应执行以下操作:

String addr = "http://172.26.41.18:8080/domain/list";
URL url = new URL(addr);
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setUseCaches(false);
httpCon.setAllowUserInteraction(false);
httpCon.addRequestProperty("Authorization", "Basic YWRtaW4fYFgjkl5463");
System.out.println(httpCon.getResponseCode());
System.out.println(httpCon.getResponseMessage());

也可以看看:

  • 使用java.net.URLConnection触发和处理HTTP请求

具体问题 无关
Authorization标头值的密码部分似乎未正确进行Base64编码。也许是因为示例而被打乱了,但是即使不是,我也会修复您的Base64编码方法。



 类似资料:
  • zendserver 2019.7 php 7.3 apache 2.4 在测试环境中,我通过curl向我的本地服务器发送JSON post请求。当CURLOPT_POSTFIELDS少于1000个字符时,它的脚本被执行,我得到的响应很好。 但是当我增加JSON数组的长度时,同样的脚本会出现404错误。 我已经改变了所有的配置,如post_max_size等,但没有任何效果。 }'; $ URL

  • 问题内容: 我已经开发了一个Java代码,该代码使用URL和HttpUrlConnection将以下cURL转换为Java代码。卷曲是: 我已经编写了此代码,但是它始终会给HTTP代码400错误的请求。我找不到丢失的内容。 问题答案: 你的JSON不正确。代替 写 因此,JSONObject.toString()应该只为外部对象调用一次。 另一件事(可能不是你的问题,但我想提一下): 为确保不会遇

  • 我在纠结HttpURLConnection和OutputStreamWriter。 代码实际上到达了服务器,因为我确实得到了有效的错误响应。发出POST请求,但服务器端未接收到数据。 任何关于正确使用这种东西的提示都是非常感谢的。 代码在异步任务中 我尝试发送的JSON: 我从服务器得到的回应是: 我应该得到的回应是: 服务器端 PHP 脚本: 以及 Android Studio 中的 logca

  • 我已经写了这段代码,但它总是给HTTP代码400错误的请求。我找不到丢失的东西。

  • 问题内容: 我想将我的网址发送到(和)。 我当前的请求代码不起作用。 使用是 不是 一个容易回答。 问题答案: 在iOS中发送和请求非常容易。无需其他框架。 请求: 首先,将我们的(按需发送的内容)创建为,然后将其转换为。 目标 接下来,我们阅读的,因此我们可以将其传递给请求。 现在我们有了要发布的内容,我们可以创建一个,并包含我们的。 迅速 最后,我们可以发送请求,并通过创建新的请求来阅读回复:

  • 问题内容: 我在HttpURLConnection和OutputStreamWriter方面挣扎。 代码实际上到达了服务器,因为我确实收到了有效的错误响应。发出了POST请求,但服务器端未收到任何数据。 正确使用此东西的任何提示均受到高度赞赏。 该代码在AsyncTask中 我正在尝试发送的JSON: 我从服务器得到的响应: 我应该得到的回应是: 服务器端PHP脚本: 以及Android Stud