我正在使用以下代码在Java中打开HTTP连接:
URL url = new URL("http://stackoverflow.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.setRequestProperty("Host", "Test:8080");
conn.getOutputStream();
无论我以何种顺序调用方法,使用conn.setRequestProperty("Host", "Test:8080")似乎没有任何效果,并且主机名会被重置为目标服务器。是否有办法在不使用其他库的情况下覆盖主机头?
TIA Matt
System.setProperty("sun.net.http.allowRestrictedHeaders", "true")
很好地解决了问题。 - Pete Doyle