一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

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

華益云HTTP爬蟲IP ? 來源:華益云HTTP爬蟲IP ? 作者:華益云HTTP爬蟲IP ? 2022-09-01 14:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

示例代碼demo中同款HTTP代理API-點我免費領取10000個高匿IP

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

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)
        {
            // 發(fā)送給服務器的標識
            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;
            }
            // 目標請求網(wǎng)站
            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)
                    {
                        // 如果發(fā)現(xiàn)沒有代理了,就去獲取下。
                        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);
        }
    }
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1620

    瀏覽量

    64035
  • HTTP
    +關注

    關注

    0

    文章

    525

    瀏覽量

    33509
  • 代碼
    +關注

    關注

    30

    文章

    4900

    瀏覽量

    70733
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    C#語言基礎教程

    C#語言基礎教程主要內容:C#語言概述C#語言程序設計基礎面得對像的
    發(fā)表于 05-21 21:43

    請問 C語言中怎么加上匯編

    請問 C語言中怎么加上匯編PCB打樣找華強 http://www.hqpcb.com 樣板2天出貨
    發(fā)表于 12-18 14:11

    C#語言規(guī)范

    本文描述 C# 編程語言的語法、語義和設計。C#(讀作“C sharp”)是一種簡單、現(xiàn)代、面向對象且類型安全的編程語言。
    發(fā)表于 12-26 12:01 ?16次下載

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

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

    C語言中指針的介紹非常詳細

    C語言中指針的介紹非常詳細 C語言中指針的介紹非常詳細
    發(fā)表于 12-25 10:39 ?57次下載

    C語言中的關鍵字

    C語言中的入門教程
    發(fā)表于 10-14 16:24 ?3次下載

    C#語言程序設計

    C#是一種優(yōu)秀的面向對象語言,它繼承了C++和Java等語言的優(yōu)點,并與現(xiàn)代軟件工程相適應。C#語言
    發(fā)表于 04-17 10:44 ?21次下載

    總結那么幾個C語言中的“坑”

    總結幾個C語言中的“坑”
    的頭像 發(fā)表于 01-16 10:52 ?2916次閱讀

    C#語言程序設計實用教程

    C#語言程序設計實用教程免費下載。
    發(fā)表于 05-24 16:17 ?53次下載

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

    如何在go語言代碼中使用HTTP代理IP。
    的頭像 發(fā)表于 08-04 16:13 ?3472次閱讀

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

    如何在c語言代碼中使用HTTP代理IP,示例代碼demo直接可用(步驟注釋清晰)
    的頭像 發(fā)表于 08-05 16:31 ?2612次閱讀

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

    如何在c#語言代碼中使用HTTP代理IP,示例代碼demo直接可用(步驟注釋清晰)
    的頭像 發(fā)表于 08-05 16:33 ?3023次閱讀

    go語言中怎么使用HTTP代理

    go語言中怎么使用HTTP代理。
    的頭像 發(fā)表于 09-01 14:41 ?2678次閱讀

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

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

    c語言中怎么使用HTTP代理

    如何再c語言代碼中使用HTTP代理IP。
    的頭像 發(fā)表于 09-01 14:44 ?1657次閱讀