Java 域名能訪問IP地址不能訪問的問題.

公司GPS信息從GPS服務商那裏獲取.域名  http://ips2.huoyunren.com/ .java

可是最近服務器DNS一直出錯,要求接口訪問從域名換成IP地址. 瀏覽器

ping 上面的網址 服務器

能夠獲得IP地址.網站


奇怪的事情發生了!!! 用域名能夠訪問,可是經過IP訪問就報404錯誤.相似的狀況在 淘寶網(www.taobao.com)上也出現過.url

程序拿到域名後,去DNS服務器解析成IP地址,以後根據IP地址訪問.這樣的話,爲何根據IP地址不能訪問網站了呢?spa

打開Google瀏覽器,F12進入調試模式,分別用域名和IP地址訪問,分析http請求頭能夠發現,兩者區別在一個 host 的參數上.問題就出在這裏.調試

猜想服務器根據 host ,分發其它服務器響應請求.因此根據IP地址訪問報404錯誤.code

代碼調整加入HOST 參數:接口

            URL url = new URL(urlStr);
            connection = (HttpURLConnection) url.openConnection();
            connection.setRequestProperty("HOST", host);

再次訪問就OK了ip

相關文章
相關標籤/搜索