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的绝好底层 ...
随机推荐
- Top free and open source log management software
As mentioned in the previous post, in my quest to find an alternative to Kiwi Syslog, I looked at a ...
- WinSetupFromUSB – Install Windows XP from USB Flash Drive
http://myeeeguides.wordpress.com/2008/11/15/winsetupfromusb-install-windows-xp-from-usb-flash-drive/ ...
- [原]命令模式在MVC框架中的应用
其实在项目开发中,我们使用了大量的设计模式,只是这些设计模式都封装在框架中了,如果你想要不仅仅局限于简单的使用,就应该深入了解框架的设计思路. 在MVC框架中,模式之一就是命令模式,先来看看模式是如何 ...
- [原]基于CAS实现单点登录(SSO):登录成功后,cas client如何返回更多用户信息
从cas server登录成功后,默认只能从casclient得到用户名.但程序中也可能遇到需要得到更多如姓名,手机号,email等更多用户信息的情况. cas client拿到用户名后再到数据库中查 ...
- 快照(Snapshot)
一.定义: SNIA(存储网络行业协会)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像.快照可以是其所表示的数据的一个 ...
- Page_Prerender介绍
它是asp.net页面的OnPreRender事件的处理程序.此事件是定义在Control类中的,因为Page类(aspx页面的基类)继承的是System.Web.UI.WebControl类,而We ...
- C#文件压缩
/// <summary> /// 文件压缩 /// </summary> /// <param name="filesUrl">多个文件路径& ...
- JavaSE思维导图(三)
- Building Workspace速度慢的原因
今天把ext3.0部署到web project很慢很慢,查了一下,这个当笔记. 转自http://blog.163.com/jong_cai/blog/static/87028045201311178 ...
- ubuntu14.04+xfce下启用fcitx,使用中文输入法
1. 安装fcitx sudo apt-get install fcitx-pinyin 2.启用fcitx 打开 setting -> Language Support -> Lang ...