码迷,mamicode.com
首页 > Web开发 > 详细

http 代理 测试

时间:2016-01-02 22:31:19      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:

Technorati 标记:
Technorati 标记:
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 代理 测试

标签:

原文地址:http://www.cnblogs.com/slngyz/p/5095352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!