2013-12-07 87 views
0

所以我的目標是從一個網站下載一個IP地址列表,如果它發現它,將會調用一些東西。我的問題是分離每個IP。這是我嘗試的當前代碼。解析WebClient數據

public void BlackList() 
    { 
     try 
     { 
      WebClient check = new WebClient(); 
      check.Encoding = System.Text.Encoding.UTF8; 
      string IPS = check.DownloadString("http://SITE.info/blacklist.txt"); 
      foreach (string s in Regex.Split(IPS)) 
      { 

      } 
     catch (Exception ex) 
     { 

     } 
    } 

這之後我打算把它們放入一個列表,怎麼做,如果(list.contains IPS ...等,但是這是行不通的。名單看起來是這樣的

1.1.1.1 
2.2.2.2 
3.3.3.3 

回答

0

你不需要正則表達式。只需使用String.Split

var blacklist = IPS.Split() 
       .Where(ip => !String.IsNullOrWhiteSpace(ip)) 
       .Select(ip => IPAddress.Parse(ip)) 
       .ToList(); 
0

既然你分割在單獨一行,你需要處理的換行符都\r\n\n風格(而不是強制t Environment.NewLine)。

string[] ipList = IPS.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None); 
foreach (string s in ipList) 
{ 
    //do stuff with s 
}