在线观看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

    文章

    1510

    瀏覽量

    62396
  • HTTP
    +關注

    關注

    0

    文章

    511

    瀏覽量

    31519
  • 代碼
    +關注

    關注

    30

    文章

    4826

    瀏覽量

    69052
收藏 人收藏

    評論

    相關推薦

    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 ?1897次閱讀

    何在java代碼中使HTTP代理IP

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

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

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

    何在python代碼中使HTTP代理IP

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

    何在PHP代碼中使HTTP代理IP

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

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

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

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

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

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

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

    go語言中怎么使用HTTP代理

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

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

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

    c語言中怎么使用HTTP代理

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

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

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

    python代碼中如何使用HTTP代理

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

    何在python代碼中使HTTP代理IP

    如何再python代碼中使HTTP代理IP
    的頭像 發表于 09-13 09:25 ?1043次閱讀
    主站蜘蛛池模板: 操熟逼 | 日本黄色激情视频 | 午夜免费福利网站 | 在线最新版www资源网 | 三浦理惠子中文在 | 欧美男人天堂网 | 女人张开腿等男人桶免费视频 | 精品欧美 | 久久精品视频5 | 末发育女一区二区三区 | 中国xxxxx高清免费看视频 | 欧美一区二区三区综合色视频 | 欲色影视| 欧美满足你的丝袜高跟ol | 夭天干天天做天天免费看 | 欧美色综合高清视频在线 | 三级黄色片免费观看 | 在线观看视频你懂得 | 五月亭亭六月丁香 | 婷婷激情综合五月天 | 在线观看黄的网站 | 性性性性bbbbxxxx | 免费一级成人毛片 | 成人丁香乱小说 | 韩国xxxxx视频在线 | 成人午夜性视频欧美成人 | 天天综合网天天综合色不卡 | 综合网天天操天天射 | 久久精品视频99精品视频150 | 二级黄色大片 | 国产又大又黄又粗又爽 | 亚洲日本中文字幕天天更新 | 在线播放视频网站 | 狠狠色噜狠狠狠狠色综合久 | 欧美成人一区二区三区在线视频 | 国产va免费精品观看 | 国产美女视频黄a视频免费全过程 | 女上男下边吃奶边做视频成都 | 女人色视频 | 成年午夜一级毛片视频 | 成年人午夜影院 |