程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> asp.net getRemoteAddr()與 getRemoteHost()的區別

asp.net getRemoteAddr()與 getRemoteHost()的區別

編輯:關於JSP
getRemoteAddr():獲得客戶端的IP地址
getRemoteHost():獲得客戶端電腦的名字,若失敗,則返回客戶端電腦的IP地址

InetAddress ia = InetAddress.getLocalHost();

String iad = ia.getHostAddress();//主機IP
String ias = ia.getHostName();//主機名

請問我在JSP頁面中使用如下語句:
System.out.println("request.getRemoteAddr(): " + request.getRemoteAddr());
System.out.println("request.getRemoteHost(): " + request.getRemoteHost());
得到的結果相同(局域網內試驗的結果)。
那麼getRemoteAddr()和getRemoteHost()到底有什麼區別?

前一個是獲得客戶端的ip地址
後一個是獲得客戶端的主機名
所以用前一個。

使用request.getRemoteAddr()取得client的ip有問題

request.getRemoteAddr()可以取得用戶端ip ,但我試了的結果是 0:0:0:0:0:0:0:1 ,請問是哪裡出了問題,要如何解決呢?謝謝各位回答。



這可能是由於你並沒有連入互聯網或局域網沒有獲得ip,也有可能是你的上網的方式有問題,我也曾經出過這樣的問題,不過換到公司使用局域網測試ip就顯示出來了

---------------------------------------------------------------

在servlet中怎樣能取到真實的客戶端ip地址?
如果客戶端來自服務器以外的網段,request.getRemoteAddr得到的只是那個客戶端網關(代理)的ip,沒有辦法取到真實的客戶端ip嗎?

當用戶使用代理或者是局域網訪問你的應用程序,你用request.getRemoteAddr()方法返回的是代理的地址或是局域網網關的地址.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved