Как я могу получить IP-адрес моего 3G-модема? - PullRequest
2 голосов
/ 16 февраля 2010

У моего модема GPRS есть сим-карта. это может соединить сеть. Веб-сервис дает ему IP-номер. мне это надо. вот так: http://www.your -ip-address.com /

Как я могу это сделать C #?

Ответы [ 3 ]

4 голосов
/ 16 февраля 2010

Вы можете использовать статический метод WebClient.DownloadString(url) для считывания вашего внешнего IP-адреса из любого веб-сервиса, предоставляющего такие данные:

string ip = System.Net.WebClient.DownloadString("http://whatismyip.org/");

Если вы собираетесь использовать это в производственной среде, лучше убедиться, что URL-адрес, на который вы указываете, гарантированно останется на протяжении всего срока службы вашего приложения. Вероятно, лучший способ - разместить веб-сервис самостоятельно.

Кроме того, вы должны добавить некоторые проверки ошибок вокруг этого кода, так как он потерпит неудачу, если интернет-соединение или веб-служба недоступны.

1 голос
/ 16 февраля 2010

Вы можете получить список своих IP-адресов через DNS, используя следующий код:

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

Если вы хотите, чтобы IP-адрес был свойством оборудования, вы можете использовать System.Management.ManagementClass с именем Win32_NetworkAdapterConfiguration. Подробнее см. http://msdn.microsoft.com/en-us/library/system.management.managementclass.aspx.

1 голос
/ 16 февраля 2010

Вы можете создать веб-запрос на http://whatismyip.com/automation/n09230945.asp, который содержит только ваш IP-адрес

Старт здесь

...