2010-02-27 136 views
4

在C#中獲取我的外部IP地址的最簡單方法是什麼?C#中的外部IP地址#

+1

@米奇小麥,你提供的鏈接並不適用。該問題詢問如何獲取本地IP地址。這裏的OP詢問有關外部IP地址。 – 2010-02-27 03:51:22

+0

您和設備之間可能會有多層NAT運行在鏈路的另一端 - 更不用說互操作層處理IP4和IP6之間轉換的可能性。這使得給你的問題提出任何有意義的答案非常困難。也許,如果您編輯了您的問題以告訴我們您爲什麼*認爲您需要這些信息,那麼有人將能夠提供幫助。 – Bevan 2010-02-27 03:59:54

+0

刪除了該鏈接。 – 2010-02-27 04:07:59

回答

7

在框架內部沒有內置的方法,因爲很難確定外部/公共IP地址是什麼。這當然假設你的IP在某個網關後面被NAT了。

一種方法是使用WebClient類來刮掉類似http://www.whatismyip.org/的網站。

System.Net.WebClient client = new System.Net.WebClient(); 
string ip = client.DownloadString("http://www.whatismyip.org"); 
Console.Out.WriteLine(ip); 
3
public static string GetExternalIP() 
{ 
    using (var wc = new System.Net.WebClient()) 
     return wc.DownloadString("http://whatismyip.org"); 
}