公司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