asp.net getRemoteAddr()與 getRemoteHost()的區別_JSP編程

來源:互聯網
上載者:User
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()方法返回的是代理的地址或是區域網路網關的地址.
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.