欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C Sharp爬虫程序配置代理流程 C++

程序员文章站 2022-02-22 08:16:36
...
// 要访问的目标页面
    string targetUrl = "http://httpbin.org/ip";


    // 代理服务器
    string proxyHost = "http://t.16yun.cn";
    string proxyPort = "6447";

    // 代理隧道验证信息
    string proxyUser = "16IXNGXO";
    string proxyPass = "366338";

    // 设置代理服务器
    WebProxy proxy = new WebProxy(string.Format("{0}:{1}", proxyHost, proxyPort), true);


    ServicePointManager.Expect100Continue = false;

    var request = WebRequest.Create(targetUrl) as HttpWebRequest;

    request.AllowAutoRedirect = true;
    request.KeepAlive = true;
    request.Method    = "GET";
    request.Proxy     = proxy;

    //request.Proxy.Credentials = CredentialCache.DefaultCredentials;

    request.Proxy.Credentials = new System.Net.NetworkCredential(proxyUser, proxyPass);

    // 设置Proxy Tunnel
    // Random ran=new Random();
    // int tunnel =ran.Next(1,10000);
    // request.Headers.Add("Proxy-Tunnel", String.valueOf(tunnel));


    //request.Timeout = 20000;
    //request.ServicePoint.ConnectionLimit = 512;
    //request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36";
    //request.Headers.Add("Cache-Control", "max-age=0");
    //request.Headers.Add("DNT", "1");


    //String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(proxyUser + ":" + proxyPass));
    //request.Headers.Add("Proxy-Authorization", "Basic " + encoded);

    using (var response = request.GetResponse() as HttpWebResponse)
    using (var sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
    {
        string htmlStr = sr.ReadToEnd();
    }
相关标签: C++