搭建了一個tomcat服務,希望在client端通過http呼叫的時候,獲取到客戶端真實的公網ip地址。
當前客戶端呼叫請求時,server端通過request.getHeader("x-forwarded-for") getHeader("Proxy-Client-IP") getHeader("WL-Proxy-Client-IP") getRemoteAddr()等方法都嘗試過了,取到的一般都是127 或者192等,取不到真正想要的地址,比如 124.128.77.*。
訪問http://ip.chinaz.com/這種網站時,就能夠回傳當前客戶端所在的ip地址,不知道怎么實作的。
別告訴我讓客戶端訪問上述網站,爬取真實ip,這種方法可行,不過不穩定,萬一網站停服就over了。
有沒有更加保險的方法獲取client端的公網ip?感謝。
uj5u.com熱心網友回復:
獲取到的地址是127 或者192等,是不是這些客戶端和你的服務端是本機或者同一個局域網的uj5u.com熱心網友回復:
本機是127 其他機器有獲取到20.10段的 也不對 因為20.10定位到美-國去了 肯定獲取的還是有問題的
uj5u.com熱心網友回復:
如果是公網訪問的服務端,得到了美國網段的地址,可以使用這個機器到你上面發的http://ip.chinaz.com/這里查下,因為有的撥號上網分配的ip存在外國的,尤其是那種長城寬帶的轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/260445.html
標籤:Web 開發
上一篇:dnbug Blog的留言
下一篇:Java 運算子
