多线程IP获取工具(C#)

以前帮一个朋友写的“IP采集工具”!

Control.CheckForIllegalCrossThreadCalls = false;

多线程,测试后还比较稳定。

500线程时候,CPU5%左右,内存50多M,1W数据需要6分多钟验证完毕。

 

以下是部分代码:

 1 public string Getms(string url = "https://www.baidu.com/", string proxy = null)
 2         {
 3             Stopwatch sw = new Stopwatch();
 4             try
 5             {
 6                 HttpHelpers helper = new HttpHelpers();
 7                 HttpItems items = new HttpItems();
 8                 HttpResults hr = new HttpResults();
 9                 items.URL = url;
10                 items.ResultType = ResultType.So;
11                 items.ProxyIp = proxy;
12                 sw.Start();
13                 hr = helper.GetHtml(items);
14                 sw.Stop();
15                 if (hr.StatusCode == HttpStatusCode.OK)
16                 {
17                     return sw.ElapsedMilliseconds.ToString();
18                 }
19                 return "-1";
20             }
21             catch (Exception)
22             {
23                 return "-500";
24             }
25         }
View Code
 1 //打开注册表键 
 2             Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings", true);
 3             int count = 5;
 4             while (rk.GetValue("ProxyServer") == null && count != 0)
 5             {
 6                 count = count - 1;
 7                 //设置代理IP和端口 
 8                 rk.SetValue("ProxyEnable", 1);
 9                 rk.SetValue("ProxyServer", ip + ":" + port);
10             }
11             API.InternetSetOptionA(0, 39, 0, 0);
View Code

转载于:https://www.cnblogs.com/inscan/p/5316656.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值