我正在尝试使用java.net.HttpURLConnection向服务器发出HTTP请求。我需要发送的一个HTTP头是"Via"。在我的代码中有如下内容:
connection.addRequestProperty("X-test", "test_header_contents"); // just a sanity test
connection.addRequestProperty("Via", "via_header_contents");
当我使用数据包嗅探器时,我可以看到测试头正在通过,但是via头部没有。我知道Via是一个“受限制”的头部,所以我添加了这一行代码:
System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
我之前遇到这个问题时,这一行代码有效,但现在却不再起作用。我知道系统属性被设置了,因为在尝试添加HTTP headers之前,我调用了System.getProperty并返回了true。我需要做其他什么来发送via header吗?就像我说的,这以前可行,但现在不行了。我想唯一改变的是我从Java 6移动到了7。感谢您能给我的任何帮助。