2012-02-01 18 views
9

Kodum aşağıdaki gibidir:HttpURLConnection'da http-header "Host" un nasıl yazılır?

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

Ama tcpdump ile giden paketleri oturum açtığınızda http-başlığı "Sunucu" 1.0.0.25 olduğunu.

Eğer evet ise, bu davranışı nasıl önleyebilirim ki, gönderen işlemin daha sonraki bir aşamasında http-header "Host" un üzerine yazılabilir.

+1

Neden URL'de ana bilgisayar adını kullanmayın:

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

Veya VM başlangıçta

? –

+0

Giden paketlerin kaynak ip adresini değiştirmek için iptables kullanıyorum, iptables değiştirilmeleri gereken paketleri bulmak için sahte ip adresini 1.0.0.25 kullanın. Uzak servisin ad tabanlı sanal barındırma hizmeti için doğru alan adı olması gerekir. – Alex

+0

http://stackoverflow.com/questions/7648872/can-i-override-the-host-header-where-using-javas-httpurlconnection-class adresinin kopyası – Gray

cevap