gpt4 book ai didi

java - HttpURLConnection 不允许我设置 "Via" header

转载 作者:搜寻专家 更新时间:2023-10-31 08:20:39 24 4
gpt4 key购买 nike

我正在尝试使用 java.net.HttpURLConnection 向服务器发出 HTTP 请求。我需要发送的 HTTP header 之一是“Via”。在我的代码中有这样的东西:

connection.addRequestProperty("X-test", "test_header_contents"); // just a sanity test
connection.addRequestProperty("Via", "via_header_contents");

当我使用数据包嗅探器时,我可以看到测试 header 正在通过,但 via header 没有。我知道 Via 是一个“受限” header ,所以我添加了这一行:

System.setProperty("sun.net.http.allowRestrictedHeaders", "true");

这条线在我过去遇到同样的问题时有用,但现在不行了。我知道系统属性已设置,因为我在尝试添加 HTTP header 之前调用了 System.getProperty,它返回 true。我还应该做些什么才能发送 via header 吗?就像我说的,这以前有效但现在无效。我认为唯一改变的是我从 Java 6 迁移到 Java 7。感谢您能给我的任何帮助。

最佳答案

回答我自己的问题。

问题是我在程序中设置系统属性 sun.net.http.allowRestrictedHeaders 太迟了。我在尝试发送 header 之前立即设置了它,但为时已晚,显然是因为 HttpURLConnection 对属性进行了某种缓存。通过在程序开始时设置属性,我能够使其全部正常工作。

关于java - HttpURLConnection 不允许我设置 "Via" header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11147330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com