мне нужен мой клиентский IP из whatismyip.com. Но шаблон Regex не корректен, я думаю? Можно ли помочь мне этот шаблон?
Этого можно достичь гораздо проще, используя интерфейс автоматизации с сайта www.whatismyip.com, поэтому нет необходимости в использовании regex:
static void Main(string[] args)
{
const string url = "http://www.whatismyip.com/automation/n09230945.asp";
var client = new WebClient();
try
{
var myIp = client.DownloadString(url);
Console.WriteLine("Your IP: " + myIp);
}
catch (Exception ex)
{
Console.WriteLine("Error contacting website: " + ex.Message);
}
}
Читали ли вы комментарий в полученном HTML:
Пожалуйста, установите код для очистки вашего IP-адреса с www.whatismyip.com/automation/n09230945.asp Дополнительную информацию можно найти в ветке «Рекомендуемые методы автоматизации» на форуме.
Итак, это должно помочь вам:
using (var client = new WebClient())
{
Console.WriteLine(client.DownloadString(
"http://www.whatismyip.com/automation/n09230945.asp"));
}
Попробуйте использовать
http://www.whatismyip.org/
Это намного проще.
Или вы хотите разобрать информацию именно whatismyip.com?
Сделайте это так:
class Program
{
static void Main(string[] args)
{
string whatIsMyIp = "http://www.whatismyip.com/automation/n09230945.asp";
WebClient wc = new WebClient();
UTF8Encoding utf8 = new UTF8Encoding();
string requestHtml = "";
try
{
requestHtml = utf8.GetString(wc.DownloadData(whatIsMyIp));
}
catch (WebException we)
{
// do something with exception
Console.Write(we.ToString());
}
IPAddress externalIp = null;
externalIp = IPAddress.Parse(requestHtml);
Console.Write("IP Numaram:" + externalIp.ToString());
Console.ReadKey();
}
}
Вот как вы получаете IP-адрес в ASP.NET C #
string pstrClientAddress = HttpContext.Current.Request.UserHostAddress;