http 代理 测试
参考了网上很多资料,综合整理出来最终的代码:
using System; using System.Collections; using System.Collections.Generic; using System.Configuration; using System.Diagnostics.Contracts; using System.IO; using System.Linq; using System.Net; using System.Net.NetworkInformation; using System.Text; using System.Threading.Tasks; using static System.Console; using static System.GC; using static System.Net.WebRequest; namespace 代理测试 { class Program { int printCount; Uri uri; Encoding bin; string[] IpSectionSpan = { "10.197.255.", "10.197.198." }; NetworkCredential credit; [STAThread] static void Main(string[] args) { new Program(); ReadKey(); } public Program() { var dr = new AppSettingsReader(); credit = new NetworkCredential( dr.GetValue("uid", typeof(string)).ToString(), dr.GetValue("pwd", typeof(string)).ToString()); //var creadentiCache = new CredentialCache(); uri = new Uri("http://wwww.baidu.com/"); bin = Encoding.GetEncoding("UTF-8"); //测试 IpSectionSpan 中所有IP段中所有IP TestIPSetions(); } private void TestIPSetions() { //for (int i = 1; i < 255; i++) //{ TestInSpan(198.ToString()); //} } private void TestInSpan(string ipSect) { for (var i = 255; i > 0; i--) { var wproxy = new WebProxy(@"10.137." + ipSect + "." + i, 3128); //uri = new Uri("http://10.137.255." + i+":3128/"); //creadentiCache.Add(uri, "Basic", credit); //wproxy.Credentials = creadentiCache; wproxy.Credentials = credit; //Collect(); var req = Create(uri) as HttpWebRequest; req.PreAuthenticate = true; req.Timeout = 1000; //超时 req.Proxy = wproxy; req.KeepAlive = false; try { WebResponse resp; req.BeginGetResponse(ra => { try { using (resp = req.EndGetResponse(ra)) { if (resp != null) { var sr = new StreamReader(resp.GetResponseStream(), bin); var str = sr.ReadToEnd(); if (!str.Contains("百度")) return; WriteLine("{0}\t:{1} \t 验证成功!", printCount++, wproxy.Address); sr.Close(); sr.Dispose(); } } } catch (Exception ex) { WriteLine("{0}\t:{1} \t 验证失败,失败原因:\t {2}", printCount++, wproxy.Address, ex.Message); } }, null); } catch (Exception e) { WriteLine(e.Message); } } } } }
http 代理 测试的更多相关文章
- 利用Charles做代理测试电脑上写的H5页面
做H5页面的同学可能经常会遇到一个场景,就是电脑上调试好的页面怎么在手机上访问测试呢? 下面就介绍一种自己经常使用的方式,利用Charles代理软件来实现! 安装Charles 直接去官网下载对应的系 ...
- Java 通过代理测试webService接口
以下代码针是针对电脑是通过代理上网的情况时使用: System.getProperties().put("http.proxyHost", "111.111.11.1&q ...
- nginx 安装与反向代理测试 under MAC
安装 在 Mac 下可以直接使用 homebrew 安装 nginx brew search nginx brew install nginx 启动 nginx: sudo nginx,访问 8080 ...
- iphone设置fiddler代理测试
iPhone上配置fiddler为代理方法: 打开IPhone, 找到你的网络连接,打开HTTP代理,输入Fiddler所在机器的IP地址(比如:192.168.1.104) 以及Fiddler的端口 ...
- docker使用代理(测试docker 17.06)
环境:debian9 service docker stop sudo HTTP_PROXY=http://127.0.0.1:1080 dockerd sudo docker pull gcr.io ...
- Python爬虫-代理池-爬取代理入库并测试代理可用性
目的:建立自己的代理池.可以添加新的代理网站爬虫,可以测试代理对某一网址的适用性,可以提供获取代理的 API. 整个流程:爬取代理 ----> 将代理存入数据库并设置分数 ----> 从数 ...
- [原]HAproxy 代理技术原理探究
HAproxy 技术分享 简介 HAProxy是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件 Features 1.免费 2.能够做到4层以上代理 3.高性能 ...
- JDK动态代理实现原理
之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白.比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的.直到看了他的文章才彻底明白,附网址:htt ...
- Spring中的JDK动态代理
Spring中的JDK动态代理 在JDK1.3以后提供了动态代理的技术,允许开发者在运行期创建接口的代理实例.在Sun刚推出动态代理时,还很难想象它有多大的实际用途,现在动态代理是实现AOP的绝好底层 ...
随机推荐
- Storm csdn
blog.csdn.net/lonelytrooperblog.csdn.net/leytton http://my.oschina.net/apdplat/blog/308396
- 組裝工廠設置IQC的目的
在電子組裝工廠的組織裡,一般都會有 IQC (Incoming Quality Control) 這個單位,台灣稱之為「入(進)料管控」,大陸稱之為「來料管控」,其最主要目的在攔檢所有買進材料是否符合 ...
- 随心所欲~我也做个集合遍历器吧(自己的foreach,委托的威力)
感觉微软在面向对象三大原则中,封装性运用的最为突出,它会将一些复杂的算法,结构,功能代码进行封装,让程序员在使用时十分得心应手,如关键字里的foreach和labmda表达式里的Foreach等等,今 ...
- 魔兽世界---屠夫(Just a Hook)
Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- Android之单击返回键两次退出
private static Boolean isExit = false; private static Boolean hasTask = false; Timer t ...
- golang之匿名函数
package main import "fmt" /* squares返回一个匿名函数 * 该匿名函数每次调用返回下一个数的平方 * func name(parameter-li ...
- 设计模式- 主动对象(Active Object)
译者注:1.对象分为主动对象和被动对象,主动对象内部包含一个线程,可以自动完成动作或改变状态,而一般的被动对象只能通过被其他对象调用才有所作为.在多线程程序中,经常把一个线程封装到主动对象里面.2.在 ...
- 使用MyBatis搭建一个访问mysql数据库的简单示例
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用 ...
- 选项卡 js操作
html代码展示(这里展示的是关于日程的标签页)css样式这里省略了>>>>自己写的可能更好看 <div class="row"> <ul ...
- 3n+1
#include<iostream> using namespace std; int main() { int n; while(cin>>n) { int count=0; ...