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的绝好底层 ...
随机推荐
- poj2196---Specialized Four-Digit Numbers
#include <stdio.h> #include <stdlib.h> int main() { int i,sum,sumOfH,sumOfd,tmp1,tmp2,tm ...
- Android的UI两大基石
说到Android的UI就不得不从一切的开始View开始说. 让我们从Android Developer上的View的Overview和UI Overview来开始吧. Cla ...
- nodejs开发微信1——微信access-token和tickets的数据模型
/* jshint -W079 */ /* jshint -W020 */ "use strict"; //var _ = require("lodash"); ...
- Java操作mongoDB2.6的常见API使用方法
对于mongoDB而言,学习方式和学习关系型数据库差不太多 開始都是学习怎样insert.find.update.remove,然后就是分页.排序.索引,再接着就是主从复制.副本集.分片等等 最后就是 ...
- oracle表设置主键自增长
create or replace table TBL_SYS_USER ( user_id NUMBER(19) not null, user_name ...
- 前端新人学习笔记-------html/css/js基础知识点
即将毕业的软件工程大学生一枚,秋季招聘应聘的是Android,今年来到公司实习,要求做前端开发,所以一切只有现学,现在根据视频来学习,然后开这个博客记录一下自己的学习过程,废话不多说,开写. 4月6日 ...
- 性能优化工具---vmstat
作用: 报告关于内核线程.虚拟内存.磁盘.陷阱和 CPU 活动的统计信息 参数: 通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数 显示说明: 第一行数据反映开 ...
- 我的学习笔记之API-Guides翻译------AppComponent_Activites
10.26第一天开始:贵在坚持,边看遍整理 一个应用程序通常由多个Activity组成,它们之间是松耦合的关系.特别的,有一个Activity作为app的主Activity,当app首次启动时呈现给用 ...
- liunx操作数据库
liunx操作数据库 1.连接数据库 #mysql -uroot -p mysql -uroot -p 然后输入密码 2.关闭防火墙 #iptables -stop 开启#iptables -star ...
- BZOJ 1217: [HNOI2003]消防局的设立( 贪心 )
一个简单的贪心, 我们只要考虑2个消防局设立的距离为5时是最好的, 因为利用最充分. 就dfs一遍, 再对根处理一下就可以了. 这道题应该是SGU某道题的简化版...这道题距离只有2, 树型dp应该也 ...