Java 错误 - 无法向 HttpURLConnection 添加授权 set/addRequestProperty()
Java bug - Can't add Authorization to HttpURLConnection set/addRequestProperty()
我正在尝试将授权添加到我的 HttpURLConnection 中的请求。我可以添加其他属性,例如 Content-type 甚至自定义属性,但是当我尝试添加 Authorization 属性 时,它只是不添加它。这是我的代码:
try {
URL url = new URL("http://www.google.es");
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setDoOutput(true);
httpCon.setRequestProperty("Authorization", "Bearer aqufbzkia.zsdkbdckbjae.AKbAbaudbf");
httpCon.setRequestProperty("my-property", "what-ever-value");
httpCon.setRequestProperty("Accept", "text/html");
System.out.println("------------------- Request Headers -----------------------");
Map<String, List<String>> requestHeaders = httpCon.getRequestProperties();
Set<String> requestHeader = requestHeaders.keySet();
for(String key : requestHeader)
System.out.println("Header: " + key + " : " + requestHeaders.get(key).toString());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
授权值已经编码。
我从循环中得到的输出是这样的:
------------------- Request Headers -----------------------
Header: Accept : [text/html]
Header: my-property : [what-ever-value]
授权未添加到请求属性中,请查看并提供反馈。
欢迎来到 Whosebug。
您的 header "Authorization" 已正确添加,但在访问 httpCon.getRequestProperties() 时将被排除,因为 headers "Authorization" 和 "Proxy-Authorization" 在 HttpURL 连接 class 的 "EXCLUDED_HEADERS" 下。如果您使用此 header 命中任何 URL,它们将在请求中传递。无需担心。要对此进行测试,您可以使用 https://beeceptor.com
等网站
我正在尝试将授权添加到我的 HttpURLConnection 中的请求。我可以添加其他属性,例如 Content-type 甚至自定义属性,但是当我尝试添加 Authorization 属性 时,它只是不添加它。这是我的代码:
try {
URL url = new URL("http://www.google.es");
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setDoOutput(true);
httpCon.setRequestProperty("Authorization", "Bearer aqufbzkia.zsdkbdckbjae.AKbAbaudbf");
httpCon.setRequestProperty("my-property", "what-ever-value");
httpCon.setRequestProperty("Accept", "text/html");
System.out.println("------------------- Request Headers -----------------------");
Map<String, List<String>> requestHeaders = httpCon.getRequestProperties();
Set<String> requestHeader = requestHeaders.keySet();
for(String key : requestHeader)
System.out.println("Header: " + key + " : " + requestHeaders.get(key).toString());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
授权值已经编码。
我从循环中得到的输出是这样的:
------------------- Request Headers -----------------------
Header: Accept : [text/html]
Header: my-property : [what-ever-value]
授权未添加到请求属性中,请查看并提供反馈。
欢迎来到 Whosebug。
您的 header "Authorization" 已正确添加,但在访问 httpCon.getRequestProperties() 时将被排除,因为 headers "Authorization" 和 "Proxy-Authorization" 在 HttpURL 连接 class 的 "EXCLUDED_HEADERS" 下。如果您使用此 header 命中任何 URL,它们将在请求中传递。无需担心。要对此进行测试,您可以使用 https://beeceptor.com
等网站