在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在c#語言代碼中使用HTTP代理IP

華益云HTTP爬蟲IP ? 來源:華益云HTTP爬蟲IP ? 作者:華益云HTTP爬蟲IP ? 2022-08-05 16:33 ? 次閱讀

如何在c#語言代碼中使用HTTP代理IP。

以下代碼主要圍繞第一次接觸HTTP代理IP的c#新手來寫(步驟注釋清晰)。

直接把下面示例代碼中的HTTP代理API,替換成你后臺生成的代理API鏈接,就可以跑起來了。

以下是一個示例代碼,只是一個基礎的演示,具體的代碼還是要根據你業務的實際情況去寫的。

示例代碼中的HTTP代理IP,我使用的是華益云的HTTP代理API,注冊就白嫖1萬個高匿爬蟲IP,有效期是一年,對于調試代碼來說這個時間是非常的友好。

華益云-企業級HTTP爬蟲代理IP供應商-點我免費領取示例代碼demo中同款10000個高匿IP

打開代理API,獲取里面的IP,使用IP訪問目標網站,其實代碼中就是執行這個過程而已,然后加了幾個錯誤判斷有助于代碼的穩定運行。(步驟注釋清晰)

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;

namespace proxyRequests
{
    class ProxyInfo
    {
        private string host;
        private int port;
        public ProxyInfo(string host, int port)
        {
            this.host = host;
            this.port = port;
        }
        public string getHost()
        {
            return host;
        }
        public int getPort()
        {
            return port;
        }


    }
    class Program
    {
        static void Main(string[] args)
        {
            // 發送給服務器的標識
            string userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/532.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36";
            // 代理api(這里我推薦使用www.9vps.com華益云的HTTP代理API,注冊就白嫖1萬IP)
            string proxyUrl = "http://http.9vps.com/getip.asp?username=166xxxx6597&pwd=xxxxbaa59ce237dff65134984b9cxxxx&geshi=1&fenge=1&fengefu=&Contenttype=1&getnum=20&setcity=&operate=all&";
            List outPutProxy = getProxy(proxyUrl, userAgent);
            if (outPutProxy.Count == 0) {
                return;
            }
            // 目標請求網站
            string url = "https://www.qq.com/";
            outPutProxy.Add(new ProxyInfo("1", 0));
            for (int i = 0; i < 3; i++)
            {
                // 最多嘗試三次
                try
                {
                    ProxyInfo px = outPutProxy[0];
                    outPutProxy.Remove(px);
                    WebProxy proxy = new WebProxy(px.getHost(), px.getPort());
                    string outHtml = requestGet(url, userAgent, proxy);
                    Console.WriteLine(outHtml);
                    break;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.StackTrace);
                    if (outPutProxy.Count == 0)
                    {
                        // 如果發現沒有代理了,就去獲取下。
                        outPutProxy = getProxy(proxyUrl, userAgent);
                    }
                }
            }
            //Console.WriteLine(requestGet(@"https://www.baidu.com/", userAgent));
            //Console.ReadKey();
        }
        static List getProxy(string proxyUrl, string userAgent) {

            //String proxyUrl = "http://http1.9vps.com/getip.asp?username=用戶名&pwd=API密碼串&geshi=1&fenge=1&fengefu=&Contenttype=1&getnum=2";
            string proxyIps;
            List outPutProxy = new List();
            try
            {
                proxyIps = requestGet(proxyUrl, userAgent, null);
                Console.WriteLine(proxyIps);
                // {"code":3002,"data":[],"msg":"error!用戶名或密碼錯誤","success":false}
                if (proxyIps.Contains("{"))
                {
                    throw new Exception("[錯誤]" + proxyIps);
                }
                String[] splitedString = proxyIps.Split('\n');
                for (int i = 0; i < splitedString.Length; i++)
                {
                    /*
                     * 180.104.192.217:22036
                     * 150.104.192.217:21036

                    */
                    String[] ret = splitedString[i].Split(':');// 180.104.192.217:22036
                    String host = ret[0]; // 180.104.192.217
                    int port = int.Parse(ret[1]); // 22036 
                    outPutProxy.Add(new ProxyInfo(host, port));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace);
            }
            Console.WriteLine("總共獲取了" + outPutProxy.Count + "個代理");

            return outPutProxy;
        }
        static string requestGet(string url, string userAgent, WebProxy proxy)
        {
           
            WebClient client = new WebClient();
            if (proxy != null)
            {
                // 設置代理部分
                client.Proxy = proxy;
            }
            // 設置編碼解析方式為 UTF-8,防止中文亂碼
            client.Encoding = Encoding.UTF8;
            client.Headers.Add("user-agent", userAgent);
            return client.DownloadString(url);
        }
    }
}

由于素材太多,遇到文件缺失跑不起來的情況,可到網站下載完整版華益云幫助文檔-使用HTTP代理示例代碼

或者直接百度搜索:華益云HTTP代理

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1562

    瀏覽量

    63536
  • HTTP
    +關注

    關注

    0

    文章

    521

    瀏覽量

    32461
  • 代碼
    +關注

    關注

    30

    文章

    4887

    瀏覽量

    70259
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    fiddler4_一款由C#語言開發的免費http調試代理軟件

    Fiddler是一款由C#語言開發的免費http調試代理軟件,有.net 2 和 .net 4 兩種版本。Fiddler能夠記錄所有的你電腦和互聯網之間的
    發表于 12-01 17:19 ?21次下載

    何在Vitis HLS中使C語言代碼創建AXI4-Lite接口

    您是否想創建自己帶有 AXI4-Lite 接口的 IP 卻感覺無從著手?本文將為您講解有關如何在 Vitis HLS 中使C 語言
    的頭像 發表于 07-08 09:40 ?2189次閱讀

    何在java代碼中使HTTP代理IP

    何在java代碼中使HTTP代理IP
    的頭像 發表于 08-04 15:38 ?2438次閱讀

    python代碼中使HTTP代理IP,demo注釋清晰

    如何再python代碼中使HTTP代理IP。 以下代碼主要圍繞第一次接觸
    的頭像 發表于 08-04 15:40 ?1198次閱讀

    何在python代碼中使HTTP代理IP

    何在python代碼中使HTTP代理IP
    的頭像 發表于 08-04 15:46 ?1447次閱讀

    何在PHP代碼中使HTTP代理IP

    何在PHP代碼中使HTTP代理IP
    的頭像 發表于 08-04 16:08 ?2646次閱讀

    go語言代碼中使HTTP代理IP的方法

    何在go語言代碼中使HTTP代理IP
    的頭像 發表于 08-04 16:13 ?3427次閱讀

    何在易e語言代碼中使HTTP代理IP

    何在易e語言代碼中使HTTP代理IP,示例
    的頭像 發表于 08-05 16:29 ?7241次閱讀

    何在c語言代碼中使HTTP代理IP

    何在c語言代碼中使HTTP代理
    的頭像 發表于 08-05 16:31 ?2565次閱讀

    go語言中怎么使用HTTP代理

    go語言中怎么使用HTTP代理
    的頭像 發表于 09-01 14:41 ?2617次閱讀

    e易語言中怎么使用HTTP代理

    e易語言中怎么使用HTTP代理
    的頭像 發表于 09-01 14:42 ?4138次閱讀

    c語言中怎么使用HTTP代理

    如何再c語言代碼中使HTTP代理IP
    的頭像 發表于 09-01 14:44 ?1608次閱讀

    c#語言中怎么使用HTTP代理

    c#語言中怎么使用HTTP代理
    的頭像 發表于 09-01 14:46 ?2333次閱讀

    python代碼中如何使用HTTP代理

    華益云HTTP代理API有效期是一年,也就是說一年內這1萬IP用完就沒了,如果你一年都用不完那到時候剩余IP才會被清零,對于調試代碼來說時間
    的頭像 發表于 09-01 14:50 ?1041次閱讀

    何在python代碼中使HTTP代理IP

    如何再python代碼中使HTTP代理IP
    的頭像 發表于 09-13 09:25 ?1207次閱讀
    主站蜘蛛池模板: 又粗又大又猛又爽免费视频 | 久久亚洲综合中文字幕 | 四虎影院2022| 美女爱爱网站 | 久久久99精品免费观看精品 | 色婷婷亚洲精品综合影院 | 成人a一级毛片免费看 | 黄色片 720p 黄色片链接 | 国产三级日本三级韩国三级在线观看 | 色综合色综合色综合网址 | 日本免费性| 天天天天色 | 又粗又长又爽又长黄免费视频 | 国产中出视频 | 特级黄aaaaaaaaa毛片 | 伊人网在线免费视频 | 欧美高清一区二区 | 日韩系列| 天天天天做夜夜夜做 | 欧美性区 | 国产欧美另类第一页 | 在线免费视频一区二区 | 成人看的一级毛片 | 狠狠的干狠狠的操 | 亚洲欧美天堂网 | 久久99精品久久久久久野外 | 亚洲综合成人在线 | 天天摸日日添狠狠添婷婷 | 亚洲 欧美 日韩 丝袜 另类 | 国产精品综合色区在线观看 | 色天天色综合 | 亚洲欧美人成网站综合在线 | 久久久噜噜噜久久网 | 美女扒开尿口让男人桶 | 夜间免费视频 | 国产精品高清久久久久久久 | 国产精品最新资源网 | 亚州三级视频 | 人人公开免费超级碰碰碰视频 | 日本黄色录象 | 91极品女神嫩模在线播放 |