如何在HttpURLConnection中覆盖http-header“Host”?

时间:2012-02-01 13:58:08

标签: java header httpurlconnection

我的代码如下:

URL url = new URL("1.0.0.25/otfg/services");
HttpURLConnection cnx = url.openConnection();
cnx.setRequestProperty("Host", "example.org");

但是当我使用tcpdump记录传出包时,http-header“Host”是1.0.0.25。

可能是在发送过程的稍后阶段覆盖了http-header“Host”,如果是,我该怎样才能避免这种行为。

1 个答案:

答案 0 :(得分:20)

Duplicate question.

最后一条评论解决了我的问题:

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

或者在VM启动时:

-Dsun.net.http.allowRestrictedHeaders=true