C# 如何获取3G调制解调器的IP地址?

C# 如何获取3G调制解调器的IP地址?,c#,visual-studio,visual-studio-2008,network-programming,C#,Visual Studio,Visual Studio 2008,Network Programming,我的GPRS调制解调器有一张sim卡。它可以连接网络。Web服务给它一个ip号码。我需要它。就像这样: 我该怎么做呢?您可以创建一个只包含您的IP地址的WebRequest 开始您可以使用静态方法从提供此类数据的任何web服务读取外部IP地址: string ip = System.Net.WebClient.DownloadString("http://whatismyip.org/"); 如果您要在生产环境中使用它,最好确保您所指向的URL在应用程序的整个生命周期内保持不变。最好的方法可能

我的GPRS调制解调器有一张sim卡。它可以连接网络。Web服务给它一个ip号码。我需要它。就像这样:


我该怎么做呢?

您可以创建一个只包含您的IP地址的WebRequest


开始

您可以使用静态方法从提供此类数据的任何web服务读取外部IP地址:

string ip = System.Net.WebClient.DownloadString("http://whatismyip.org/");
如果您要在生产环境中使用它,最好确保您所指向的URL在应用程序的整个生命周期内保持不变。最好的方法可能是自己托管web服务


此外,您还应在该代码周围添加一些错误检查,因为如果internet连接或web服务不可用,该代码将失败。

您可以使用以下代码通过DNS获取IP地址列表:

var name = Dns.GetHostName();
var entry = Dns.GetHostEntry(name);
foreach (var address in entry.AddressList) {
   Console.WriteLine(address);
}

如果要将IP地址作为硬件的属性,可以使用名为Win32\U NetworkAdapter配置的
System.Management.ManagementClass
。有关详细信息,请参阅

@ykaratoprak:那就去吧。是什么阻止了你“用C#实现它”?我需要静态ip:这个网站给我我想要的ip。我需要如何做,C#代码为您提供与your-IP-address.com完全相同的IP,我引用的页面解释了如何创建带有超时等的web请求。根据您的要求,此代码将只返回本地IP地址,还是我弄错了?在许多情况下,这与
your ip address.com
报告的远程地址不同,具体取决于您的ip地址。当我使用拨号时,它使用PPP,我的连接被分配了一个公共IP地址。因此,上面的代码返回与your-IP-address.com相同的IP地址。也许在得到答案后,您不应该重新表述整个问题。。。这是非常混乱的;我把问题往后退了退,这样答案才有意义。