views:

115

answers:

6

i need my client ip from whatismyip.com. But Regex pattern is not correct i think? Can you help me this patttern?

A: 

You can use this frame.

werewindle
A: 

Try to use
http://www.whatismyip.org/
It's much simpler.

Or you want to parse information exactly whatismyip.com?

Steck
I think they are already arguing on it. you are late.......
Professional2Hire
A: 

Do it like this instead:

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

    }
}
klausbyskov
+4  A: 

Have you read the comment in the obtained HTML:

Please set your code to scrape your IP from www.whatismyip.com/automation/n09230945.asp For more info, please see our "Recommended Automation Practices" thread in the Forum.

So this should get you going:

using (var client = new WebClient())
{
    Console.WriteLine(client.DownloadString(
        "http://www.whatismyip.com/automation/n09230945.asp"));
}
Darin Dimitrov
using is a good technique to automatically delete the resource used by variable..
Professional2Hire
+3  A: 

This can be achieved way easier using the automation interface from www.whatismyip.com, so there's no need for any 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);
        }
    }
Olli
good one nice and short one
Professional2Hire
A: 

This is how you get the ip in ASP.NET C#

string pstrClientAddress = HttpContext.Current.Request.UserHostAddress;
awright18