问题
My code is like the following:
URL url = new URL("1.0.0.25/otfg/services");
HttpURLConnection cnx = url.openConnection();
cnx.setRequestProperty("Host", "example.org");
But when I log the outgoing packages with tcpdump the http-header "Host" is 1.0.0.25.
Could it be that the http-header "Host" is overwritten at a later stage of the sending process, if yes how can I avoid this behavior.
回答1:
Duplicate question.
The last comment solved my problem:
System.setProperty("sun.net.http.allowRestrictedHeaders", "true")
Or at VM startup:
-Dsun.net.http.allowRestrictedHeaders=true
来源:https://stackoverflow.com/questions/9096987/how-to-overwrite-http-header-host-in-a-httpurlconnection