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的绝好底层 ...
随机推荐
- Tomcat 设置自动编译,自动发布,自动部署
Tomcat服务器 具有一个常用的功能: 即自动编译,自动发布,自动部署功能. 问题: 当我们第一次发布程序以后,我们增删改Servelt,Java,.xml等文件,都必须重启Tomcat,如果项目巨 ...
- iOS 视图跳转
//跳转 - ( void)present:( id )sender { NSLog ( @"the button,is clicked …" ); // 创建准备跳转的 UIVi ...
- poj1563---蜗牛爬井
#include <stdio.h> #include <stdlib.h> int main() { int dayTh; float Udis,currentHeight, ...
- saiku导出excel单元格格式与中文列宽自动适应
在saiku导出excel后打开发现单元格的整数也显示为小数,并且含有中文的列宽没有自动适应,解决办法如下: 打开ExcelWorksheetBuilder.java文件,找到applyCellFor ...
- linux创建文件树,孩子兄弟树(或广义表),创建文件树及其訪问
假设在Linux下要訪问一个目录. 我们须要知道一下系统调用. 1.opendir(path); //注意path是绝对路径 2.ptr=readdir(dir);//dir 为opendir();正 ...
- OS笔记047代理传值和block传值
在两个不同的控制器之间传递数据,可以使用代理传值或者block传值. 例子是一个简单通讯录. 主界面如下: 添加联系人界面 查看/编辑联系人界面:默认是查看模式,点击编辑后进入编辑模式 编辑模式 数据 ...
- OracleOraDb10g_home1TNSListener服务无法启动
启动OracleOraDb10g_home1TNSListener服务的时候就报错:“Windows无法启动OrcleOraDb11g_home1TNSListener服务(位于本地计算机上). 错误 ...
- bootstrap2.3.2常用标签的使用
<!DOCTYPE html> <html lang="zh_CN"> <head> <title>Bootstrap 101 Te ...
- IO库 8.2
题目:编写一个测试函数,将cin作为参数传入. #include <iostream> using std::istream; istream& func(istream& ...
- 关于Scrapy框架的基本概念
Scrapy爬取网页基本概念 Scrapy爬取网页基本概念 怎么样用Scrapy生成project? scrapy startproject xxx 如何用Scrapy爬取网页? import scr ...