- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
这是我的代码:
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 Server error
我打开我的 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());
Unrelated 到具体问题,您的 Authorization
header 值的密码部分似乎没有正确进行 Base64 编码。也许它被打乱了,因为它是示例性的,但即使不是,我也会修复你的 Base64 编码方法。
关于java - HttpURLConnection 发送 POST 请求,即使 httpCon.setRequestMethod ("GET");已设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8760052/
因此,在我的代码的一部分中,我尝试访问网页,并且在该网页不存在的情况下(我正在测试),我收到 FileNotFoundException。 位于 sun.net.www.protocol.http.H
这是我的代码: String addr = "http://172.26.41.18:8080/domain/list"; URL url = new URL(addr); HttpURLConnec
我是一名优秀的程序员,十分优秀!