2012-07-04 112 views
0

我需要讓我的網站的本地計算機的IP地址訪問用戶的,我用下面的代碼得到服務提供商的IP地址設備的IP地址

string ipAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; 
       if (!string.IsNullOrEmpty(ipAddress)) 
       { 
        string[] addresses = ipAddress.Split(','); 

        if (addresses.Length != 0) 
        { 
         stradd = addresses[0]; 
        } 
        else 
        { 
         stradd = ipAddress; 
        } 
       } 
       else 
       { 
        stradd = Request.ServerVariables["REMOTE_ADDR"].ToString(); 
       } 

       hostName = Dns.GetHostByAddress(stradd).HostName; 

這是給服務提供商&名的IP地址的服務提供商,但我不想這個我想用戶設備(本地)的IP地址,是否有可能獲得本地IP地址?請幫幫我。

+0

敦認爲可以工作 –

回答

1

不能。您無法獲取隱藏在NAT後面的機器的私有IP地址。

路由器透傳中繼請求。

+0

所以我們不能在.net中獲得本地IP地址嗎?使用任何方法? –

+0

具有升級的安全權限的瀏覽器插件(即,當瀏覽器安全性足夠低時,詢問用戶而不是完全忽略它,並且當用戶單擊是一堆安全警告時)可以獲取網絡接口的IP地址系統;它可能甚至能夠找出哪一個將被用於到您的服務器的路由中......但這對於WWW並不實用,並且除了在HTTP請求中接收數據之外不涉及服務器端代碼(就像它會從一個表單)。 – Quentin

0

本地IP只是(本地)它永遠不會離開本地路由器,您將需要使用某種本地執行的代碼將其發送到服務器。

+1

瀏覽器不提供任何允許JavaScript獲取本地地址的API(其中可能有很多(我的當前工作站上有4個IPV4地址))。 – Quentin

+0

對不起,你是非常正確的編輯來反映這一點。 –