2010-02-16 32 views
5

tôi cần ip khách hàng của tôi từ whatismyip.com. Nhưng mô hình Regex là không chính xác tôi nghĩ? Bạn có thể giúp tôi patttern này?Tôi có thể tìm hiểu ip của khách hàng bằng .NET bằng cách nào?

+2

Tại sao bạn sử dụng whatismyip.com để truy xuất ip của bạn? :) – Younes

+1

Bỏ phiếu để đóng. Đừng hỏi cùng một câu hỏi hai lần. Nếu câu hỏi của bạn không đưa ra câu trả lời, hãy thử mở rộng câu hỏi đó chi tiết hơn. http://stackoverflow.com/questions/2272483/how-can-i-get-ip-address-of-my-3g-modem –

+0

Đối với những gì nó có giá trị, tôi tin rằng câu trả lời của tôi cho câu hỏi ban đầu của bạn nên làm các trick: http://stackoverflow.com/questions/2272483/how-can-i-get-ip-address-of-my-3g-modem/2272673#2272673 –

Trả lời

3

này có thể đạt được cách dễ dàng hơn bằng cách sử dụng giao diện tự động hóa từ www.whatismyip.com, do đó không cần bất kỳ 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); 
     } 
    } 
+0

tốt đẹp và ngắn –

0

Hãy thử sử dụng
http://www.whatismyip.org/
Nó đơn giản hơn nhiều.

Hoặc bạn muốn phân tích cú pháp thông tin chính xác whatismyip.com?

+0

Tôi nghĩ rằng họ đã tranh cãi về nó. bạn đang trễ ....... –

0

làm nó như thế này thay vì:

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

    } 
} 
4

Bạn đã đọc những nhận xét trong HTML được:

hãy thiết lập mã của bạn để cạo IP của bạn từ www.whatismyip.com/ automation/n09230945.asp Để biết thêm thông tin, vui lòng xem "Thực tiễn Tự động Đề xuất" của chúng tôi " luồng trong Diễn đàn.

Vì vậy, điều này sẽ giúp bạn có đi:

using (var client = new WebClient()) 
{ 
    Console.WriteLine(client.DownloadString(
     "http://www.whatismyip.com/automation/n09230945.asp")); 
} 
+0

sử dụng là một kỹ thuật tốt để tự động xóa các tài nguyên được sử dụng bởi biến .. –

0

Đây là cách bạn nhận được IP trong ASP.NET C#

string pstrClientAddress = HttpContext.Current.Request.UserHostAddress; 
Các vấn đề liên quan