Java bug - 无法将授权添加到 HttpURLConnection set/addRequestProperty()

标签 java header authorization httpurlconnection httpsurlconnection

我正在尝试将授权添加到我的 HttpURLConnection 中的请求中。我可以添加其他属性,例如内容类型甚至自定义属性,但是当我尝试添加授权属性时,它只是不添加它。这是我的代码:

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]

授权未添加到请求属性中,请检查并提供反馈。

最佳答案

欢迎来到 StackOverflow。

您的 header “Authorization”已正确添加,但在访问 httpCon.getRequestProperties() 时将被排除,因为 header “Authorization”和“Proxy-Authorization”位于 HttpURLConnection 类的“EXCLUDED_HEADERS”下。如果您点击任何带有此 header 的 URL,它们将在请求中传递。无需担心。要测试这一点,您可以使用类似 https://beeceptor.com 的网站

关于Java bug - 无法将授权添加到 HttpURLConnection set/addRequestProperty(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55159215/

相关文章:

java - 在 Azure DocumentDB 上按 ID 进行查询没有响应

java - Fragment 未显示且 OnCreateView 方法未调用

java - 水平打印循环输出?

javascript - 创建 POST header

PHP header() 调用 "crashing"脚本出现 HTTP 500 错误

android - 如何在android上的webview中获取http头状态码?

asp.net-mvc - 具有应用内授权的 OWIN WsFederation 身份验证

java - 优化 Java 代码的技巧

ruby-on-rails - 未定义的方法 `admin?' 为 nil :NilClass

c# - 属于多个组织的用户的多个角色