C# 解析WebClient数据
所以我的目标是从一个网站下载一个IP地址列表,如果它找到了,就会调用一些东西。我的问题是分离每个IP。这是我尝试的当前代码C# 解析WebClient数据,c#,regex,C#,Regex,所以我的目标是从一个网站下载一个IP地址列表,如果它找到了,就会调用一些东西。我的问题是分离每个IP。这是我尝试的当前代码 public void BlackList() { try { WebClient check = new WebClient(); check.Encoding = System.Text.Encoding.UTF8; string IPS = check.Do
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 IP…等等,那么我就去做,但这不起作用。这个列表看起来像这样
1.1.1.1
2.2.2.2
3.3.3.3
你不需要正则表达式。只需使用String.Split
由于要在单独的行上拆分,因此需要同时处理\r\n和\n样式的换行符,而不仅仅是Environment.NewLine
var blacklist = IPS.Split()
.Where(ip => !String.IsNullOrWhiteSpace(ip))
.Select(ip => IPAddress.Parse(ip))
.ToList();
string[] ipList = IPS.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
foreach (string s in ipList)
{
//do stuff with s
}