
private void 导入IPToolStripMenuItem_Click(object sender, EventArgs e)
{
using (OpenFileDialog Openfile = new OpenFileDialog())
{
Openfile.Filter = "文本文件|*.txt";
Openfile.Multiselect = false;
if (Openfile.ShowDialog() == DialogResult.OK)
{
Thread threadfile = new Thread(() => ReadFileIP(Openfile.FileName)) { IsBackground = true };
threadfile.Start();
}
}
}
///
/// 读取txt代理ip
///
///
private void ReadFileIP(string filename)
{
txtmsg.BeginInvoke(new Action(() =>
{
txtmsg.AppendText("开始导入IP代理!".SetLog());
}));
var file = File.Open(filename, FileMode.Open);
int num = 0;
int goods = 0;
int repeat = 0;
using (var stream = new StreamReader(file))
{
while (!stream.EndOfStream)
{
num++;
string linetemp = stream.ReadLine().Trim().ToLower();
string[] iptxt = linetemp.Split(':');
if (iptxt.Count() == 2)
{
lock (Config.lock_prxoy)
{
var data = Config._prxoyList.Where(m => m.ip == iptxt[0]).FirstOrDefault();
if (data != null)
{
repeat++;
continue;
}
}
goods++;
Model.ProxyIP _proxyip = new Model.ProxyIP();
_proxyip.ip = iptxt[0];
_proxyip.prot = int.Parse(iptxt[1]);
ListViewItem item = new ListViewItem(_proxyip.ip);
item.SubItems.Add(_proxyip.prot.ToString());
item.SubItems.Add("");
listViewIP.Invoke(new Action(() =>
{
ListViewItem itemresult = listViewIP.Items.Add(item);
_dic.Add(_proxyip.ip, itemresult);
//dic.Add(_send.Tel, backitem);
}));
lock (Config.lock_prxoy)
{
Config._prxoyList.Add(_proxyip);
}
}
}
}
txtmsg.Invoke(new Action(() =>
{
string log = string.Format("添加代理IP完成!有效数据为:{0},过滤重复数据:{1},总数据:{2}", goods.ToString(), repeat.ToString(), num.ToString());
txtmsg.AppendText(log.SetLog());
}));
Thread filter = new Thread(new ThreadStart(filterIP)) { IsBackground = true };
filter.Start();
}
private void filterIP()
{
txtmsg.Invoke(new Action(() =>
{
txtmsg.AppendText("正在过滤IP数据!".SetLog());
}));
List
lock (Config.lock_prxoy)
{
foreach (Model.ProxyIP _model in Config._prxoyList)
{
var task = System.Threading.Tasks.Task.Factory.StartNew(() =>
{
bool reslut = VerIP(_model.ip, _model.prot);
if (reslut)
{
_model.filter = Model.filterIP.有效;
this.Invoke(new Action(() =>
{
_dic[_model.ip].SubItems[2].Text = "有效";
}));
}
else
{
_model.filter = Model.filterIP.无效;
this.Invoke(new Action(() =>
{
_dic[_model.ip].SubItems[2].Text = "无效";
}));
}
});
TaskList.Add(task);
}
}
System.Threading.Tasks.Task.WaitAll(TaskList.ToArray());
txtmsg.Invoke(new Action(() =>
{
txtmsg.AppendText(Config._prxoyList[0].filter.ToString() + "过滤IP数据完成!".SetLog());
}));
}
private bool VerIP(string ip,int port)
{
try
{
HttpWebRequest Req;
HttpWebResponse Resp;
WebProxy proxyObject = new WebProxy(ip, port);// port为端口号 整数型
Req = WebRequest.Create("https://www.baidu.com") as HttpWebRequest;
Req.Proxy = proxyObject; //设置代理
Req.Timeout = 1000; //超时
Resp = (HttpWebResponse)Req.GetResponse();
Encoding bin = Encoding.GetEncoding("UTF-8");
using (StreamReader sr = new StreamReader(Resp.GetResponseStream(), bin))
{
string str = sr.ReadToEnd();
if (str.Contains("百度"))
{
Resp.Close();
return true;
}
else
{
return false;
}
}
}
catch (Exception ex)
{
return false;
}
}
}
主要的代码 ,我就贴上来了,那些model实体的,你们估计也用不到,这个过滤速度很快
相关文章内容简介
1 不同的代理IP有什么区别?
不同的代理IP有什么区别?使用代理IP时,现在有很多代理IP商家,很多用户也看不出有什么不同,也不知道该怎么选择。那么,代理IP有什么不同呢? 首先代理IP有免费和收费的,免费就是不需要花钱,在网络上可以直接找到,但可用率很低,挑选可用IP会很麻烦,只适合初级学者,不适合用于工作。收费就是由商家提供的代理IP软件,需要花钱,但操作简单,换IP也方便。如果不小心选择了质量差的代理,访问时候对方可能会识别出你使用了代理IP,依旧会查出真实IP,导致被封。 所以如果是专业人员工作使用代理IP,建议选择收费的代理IP,这样工作效率高,还不会有被封的风险。万变ip代理提供的IP均为高匿名IP,有不同套餐,可以按照自己的项目来选择,价格合理。 找到合适的代理IP要根据自己的实际需求来定,最简单的方法就是对IP进行验证,可以验证代理IP是否有效。还可以对代理IP提供的IP匿名程度来进行检测,一般都需要用高匿名代理效果是最好的。还可以验证代理IP是否可以访问... [阅读全文]
2 代理ip怎么选择呢?
代理ip怎么选择呢?代理IP很多人都不陌生,特别是推广人员,可以给我们的工作带来很大的帮助。随着需求的增大,IP代理软件特别多,所以在挑选的时候让很多用户不知该怎么办。那么,代理IP哪家好呢? 万变ip代理IP是非常实用的,是自己搭建的服务器,IP可用率非常高,可达到97%,IP质量无需担心,在使用的时候绝对不会出现冲突的情况。而且操作的过程很简单,只需一键就可快速更换IP,还有专业技术人员在线指导,无论是否用过代理IP软件,都可以快速掌握。 选择好的代理IP软件用户要多参考几家软件,有的软件并不是特别好用,所以用户不要急于选择,可以多试用几家。 现在在网络中随便搜索就可以找到很多代理IP软件,因为软件的数量剧增,在选择的时候就尤为重要,如果选择了不好的代理,不仅不会给我们的工作带来帮助,还会很麻烦。下面就为大家介绍一下选择代理IP的三要素。 1.IP资源的数量。如果可以提供的IP数量很少,在切换IP的时候就很有可能... [阅读全文]
推荐阅读
05
2020-03
代理IP怎么识破目标网站反爬策略?
爬虫技术天天在进步,反爬虫技术也不甘落后,谁落后谁就要挨打。很多时候,我们在网站的采集过程中,爬着爬着就发现,才爬一会就被限制了,然后只好升级反反爬策略,然而还是非常容易
11
2019-12
免费的http服务器代理都有什么风险?
对于很多人来说http服务器代理应该不会感到陌生,尤其是网络营销的工作人员,他们甚至每一天都会使用http服务器代理。市面上的http服务器代理从价格上大致分为两类——收费http服务器代理
24
2020-12
代理ip的两种授权模式
很多用户在使用代理ip去访问网页时,会弹出输入“账号+密码”的会话窗口,为什么会出现这种现象,很多人不理解前来咨询客服,初步怀疑是代理ip的问题,希望供应商能解决这个问题。
16
2020-04
代理IP超时有哪些原因?
在使用代理IP进行爬虫工作的过程中,总会遇到一些猝不及防的问题,最常见的要属于超时问题了,很多人不知道问题在哪里,我们一起来讨论下有哪些情况会出现超时,是什么原因,如何测试
18
2021-03
高匿代理IP的安全性有多高?
高匿名代理IP是代理中最常用的,也是首选,因为高匿名代理IP能够将用户的IP和信息完全隐藏起来,让目标网站丝毫没有察觉,无论用它做什么工作都可以放心使用。当被访问方不能确定访问者
18
2020-03
换IP软件无法上网是什么原因?
网络现在已经如此普及,我们很多时候都已经离不开互联网了。万一碰上了网络连接错误,无法使用网络的时候,我们应该怎么办呢?别着急,万变代理今天就来为大家好好说明一下导致无法上
热门文章
因为专业! 所以简单! 产品至上,价格实惠 是我们服务追求的宗旨
免费试用