Как я могу узнать свой клиент IP с .NET? - PullRequest
5 голосов
/ 16 февраля 2010

мне нужен мой клиент ip от whatismyip.com. Но шаблон Regex не верен, я думаю? Вы можете помочь мне с этим паттерном?

Ответы [ 5 ]

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

Прочитали ли вы комментарий в полученном HTML:

Пожалуйста, установите свой код, чтобы очистить ваш IP с www.whatismyip.com/automation/n09230945.asp Для получения дополнительной информации, пожалуйста, посетите нашТема «Рекомендуемые методы автоматизации» на форуме.

Так что это должно помочь вам:

using (var client = new WebClient())
{
    Console.WriteLine(client.DownloadString(
        "http://www.whatismyip.com/automation/n09230945.asp"));
}
3 голосов
/ 16 февраля 2010

Этого можно достичь намного проще, используя интерфейс автоматизации с сайта 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);
        }
    }
0 голосов
/ 21 февраля 2010

Вот так вы получаете ip в ASP.NET C #

string pstrClientAddress = HttpContext.Current.Request.UserHostAddress;
0 голосов
/ 16 февраля 2010

Сделайте это вместо этого:

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(); 

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

Попробуйте использовать
http://www.whatismyip.org/
Это намного проще.

Или вы хотите точно проанализировать информацию whatismyip.com?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...