多线程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         }

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

时间: 2024-10-26 11:02:00

多线程IP获取工具(C#)的相关文章

使用Java开发多线程端口扫描工具(二)

一 介绍 这一篇文章是紧接着上一篇文章(http://www.zifangsky.cn/2015/12/使用java开发多线程端口扫描工具/)写的,端口扫描的原理不用多少,我在上一篇文章中已经说过了,至于目的大家都懂得.在这一篇文章里,我主要是对端口扫描工具的继续完善,以及写出一个比较直观的图形界面出来,以方便我们测试使用.界面如下: 这个工具主要是实现了以下几点功能:(1)两种扫描方式,一种是只扫描常见端口,另一种是设置一个起始和结束端口,依次探测.当然,原理很简单,用for循环就可以了:(2

原创python多线程批量管理工具batch(不断完善)

#!/usr/bin/env python import threading import time import paramiko import os,sys from ip import ip_list,web_server,ip_msg from optparse import OptionParser from ssh_co.cfg.config import host_msg def opts(): parser = OptionParser(usage="usage %prog op

Windows下单ip扫描工具

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 @echo off echo               IP Ping 工具 :x ::set /p choice="请输入扫描类型:A or B :" set  choice=A if /i %choice%==a goto ipduan else goto y :y if /i %choice

IOS-根据ip获取当前城市的编号

IOS 通过ip地址获取当前城市的编号 //解析网址通过ip 获取城市天气代码    NSURL *url = [NSURL URLWithString:@"http://61.4.185.48:81/g/"];        //    定义一个NSError对象,用于捕获错误信息    NSError *error;    NSString *jsonString = [NSString stringWithContentsOfURL:url encoding:NSUTF8Stri

通过ip获取qq的天气json数据

需求:根据IP获取当地天气 参考:http://news.qq.com/    其页面中有获取天气的实现. 具体实现:1.查看上面网页,找出其相关代码(我使用的是chrom浏览器,F12调出调试模式) 2.解释主要代码: (1)<script src="http://fw.qq.com:80/ipaddress"></script> :加载这个js,返回的信息:var IPData = new Array("60.29.153.39",&qu

百度接口通过ip获取用户所在地

/** * 百度接口 * 通过用户ip获取用户所在地 * @param userIp * @return */ public static String getAddressByBD2(String strIP) { try { URL url = new URL("http://opendata.baidu.com/api.php?query=" + strIP+"&co=&resource_id=6006&t=1433920989928&i

php 通过ip获取所在城市地址信息 获取计算机外网ip

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

C# 根据IP获取省市

/// <summary> /// 根据IP获取省市 /// </summary> public void GetAddressByIp() { string ip = "115.193.217.249"; string PostUrl = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=" + ip; string res = GetDataByPost(PostUrl);//该

通过IP获取相应所在地的地址

曾几何时通过IP获取相应所在地的地址一直是一个梦想,曾经为止努力过,但效果并不是很好,现在将努力的成果(某些来源于网络)粘贴出来,希望对某些人有所启发,倘若有人有新的见解,还望不惜赐教: 1.借助外网实现获取IP相应所在地地址的目的: import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.URL; import java.net.URL