мне нужен мой клиент ip от whatismyip.com. Но шаблон Regex не верен, я думаю? Вы можете помочь мне с этим паттерном?
Прочитали ли вы комментарий в полученном HTML:
Пожалуйста, установите свой код, чтобы очистить ваш IP с www.whatismyip.com/automation/n09230945.asp Для получения дополнительной информации, пожалуйста, посетите нашТема «Рекомендуемые методы автоматизации» на форуме.
Так что это должно помочь вам:
using (var client = new WebClient()) { Console.WriteLine(client.DownloadString( "http://www.whatismyip.com/automation/n09230945.asp")); }
Этого можно достичь намного проще, используя интерфейс автоматизации с сайта www.whatismyip.com, поэтому нет необходимости в каких-либо регулярных выражениях:
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); } }
Вот так вы получаете ip в ASP.NET C #
string pstrClientAddress = HttpContext.Current.Request.UserHostAddress;
Сделайте это вместо этого:
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(); } }
Попробуйте использовать http://www.whatismyip.org/ Это намного проще.
Или вы хотите точно проанализировать информацию whatismyip.com?