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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

java中怎么使用HTTP代理

華益云HTTP爬蟲(chóng)IP ? 來(lái)源:華益云HTTP爬蟲(chóng)IP ? 作者:華益云HTTP爬蟲(chóng)IP ? 2022-09-01 14:31 ? 次閱讀

java中怎么使用HTTP代理。

以下代碼主要圍繞第一次接觸HTTP代理IP的java新手來(lái)寫(xiě)。

直接把下面示例代碼中的代理API,替換成你后臺(tái)生成的代理API鏈接,就可以跑起來(lái)了。(步驟注釋清晰)

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

示例代碼中的HTTP代理IP,我使用的是華益云的HTTP代理,注冊(cè)就白嫖1萬(wàn)個(gè)高匿爬蟲(chóng)IP,有效期是一年,對(duì)于調(diào)試代碼來(lái)說(shuō)這個(gè)時(shí)間是非常的友好。

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

示例代碼demo中同款HTTP代理API-點(diǎn)我免費(fèi)領(lǐng)取10000個(gè)高匿IP

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.URL;
import java.util.ArrayList;
import java.net.Proxy;
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 ProxyUtil{
    public static void main(String[] args)  {
        // 發(fā)送給服務(wù)器的標(biāo)識(shí)
        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,注冊(cè)就白嫖1萬(wàn)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&";
        // 請(qǐng)求代理url,獲取代理ip 
        ArrayList outPutProxy = getProxy(proxyUrl, userAgent);
        if (outPutProxy.size() == 0){
            // 沒(méi)有獲取到代理
            return;
        }
        // 目標(biāo)請(qǐng)求網(wǎng)站
        String url = "https://www.qq.com/";
 
        for (int i=0; i<3; i++){
            // 最多嘗試三次
            try{
                ProxyInfo px =outPutProxy.remove(0);
                Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(px.getHost(), px.getPort()));
                String out = doReqWithProxyWrapper(url, userAgent, proxy);
                System.out.println(out);
                break;
            }catch(Exception e){
                e.printStackTrace();
                if (outPutProxy.size() == 0){
                    // 如果發(fā)現(xiàn)沒(méi)有代理了,就去獲取下。
                    outPutProxy = getProxy(proxyUrl, userAgent);
                }
            }   
        }
        //System.out.println(out);
    }

    public static String doReqWithProxyWrapper(String url,String userAgent,Proxy proxy) throws IOException{
        return requestGet(url, userAgent, proxy);
    }
    public static ArrayList getProxy(String proxyUrl, String userAgent){
        //String proxyUrl = "http://http.9vps.com/getip.asp?username=166xxxx6597&pwd=xxxxbaa59ce237dff65134984b9cxxxx&geshi=1&fenge=1&fengefu=&Contenttype=1&getnum=20&setcity=&operate=all&";
        String proxyIps;
        ArrayList outPutProxy = new ArrayList();
        try {
            proxyIps = requestGet(proxyUrl, userAgent,  null);
            System.out.println(proxyIps);
            // {"code":3002,"data":[],"msg":"error!用戶(hù)名或密碼錯(cuò)誤","success":false}
            if (proxyIps.indexOf("{") > -1){
                throw new RuntimeException("[錯(cuò)誤]"+proxyIps);
            }
            String[] splitedString = proxyIps.split("\n");
            for (int i=0; i
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2946

    瀏覽量

    104370
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    496

    瀏覽量

    30894
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4697

    瀏覽量

    68085
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    JAVA教程之HTTP連接與瀏覽

    JAVA教程之HTTP連接與瀏覽,很好的JAVA的資料,快來(lái)學(xué)習(xí)吧
    發(fā)表于 04-11 17:28 ?7次下載

    java動(dòng)態(tài)代理分析

    定義:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。 動(dòng)態(tài)代理使用 java動(dòng)態(tài)代理機(jī)制以巧妙的方式實(shí)現(xiàn)了代理模式的設(shè)計(jì)理念。
    發(fā)表于 09-27 15:14 ?0次下載

    如何在java代碼中使用HTTP代理IP

    如何在java代碼中使用HTTP代理IP。
    的頭像 發(fā)表于 08-04 15:38 ?2148次閱讀

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

    如何再python代碼中使用HTTP代理IP。 以下代碼主要圍繞第一次接觸HTTP代理IP的python新手來(lái)寫(xiě)。(步驟注釋清晰) 直接把下面示例代碼
    的頭像 發(fā)表于 08-04 15:40 ?1004次閱讀

    如何在python代碼中使用HTTP代理IP

    如何在python代碼中使用HTTP代理IP。
    的頭像 發(fā)表于 08-04 15:46 ?1222次閱讀

    python怎么使用HTTP代理

    python怎么使用HTTP代理,華益云高匿爬蟲(chóng)代理ip
    的頭像 發(fā)表于 09-01 14:36 ?1560次閱讀

    PHP怎么使用HTTP代理

    PHP怎么使用HTTP代理,華益云高匿爬蟲(chóng)代理ip
    的頭像 發(fā)表于 09-01 14:38 ?1688次閱讀

    go語(yǔ)言中怎么使用HTTP代理

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

    e易語(yǔ)言中怎么使用HTTP代理

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

    c語(yǔ)言中怎么使用HTTP代理

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

    c#語(yǔ)言中怎么使用HTTP代理

    c#語(yǔ)言中怎么使用HTTP代理
    的頭像 發(fā)表于 09-01 14:46 ?2071次閱讀

    python代碼如何使用HTTP代理

    華益云HTTP代理API有效期是一年,也就是說(shuō)一年內(nèi)這1萬(wàn)IP用完就沒(méi)了,如果你一年都用不完那到時(shí)候剩余IP才會(huì)被清零,對(duì)于調(diào)試代碼來(lái)說(shuō)時(shí)間充足靈活。
    的頭像 發(fā)表于 09-01 14:50 ?847次閱讀

    python代碼如何使用HTTP代理

    HTTP代理就是介于瀏覽器和web服務(wù)器之間的一臺(tái)服務(wù)器,連接代理后,瀏覽器不再直接向web服務(wù)器取回網(wǎng)頁(yè),而是向代理服務(wù)器發(fā)出request信號(hào),
    的頭像 發(fā)表于 09-13 09:24 ?1253次閱讀

    如何在python代碼中使用HTTP代理IP

    如何再python代碼中使用HTTP代理IP。
    的頭像 發(fā)表于 09-13 09:25 ?953次閱讀

    http代理的作用如下所示

    經(jīng)常使用網(wǎng)絡(luò)的人可能會(huì)常常聽(tīng)到這樣的一個(gè)詞:http代理。那么它真正的作用很多人都是模棱兩可的,在這里給大家普及一下在我們大部分人的網(wǎng)絡(luò)活動(dòng),http是比較常見(jiàn)的網(wǎng)絡(luò)協(xié)議,因而
    發(fā)表于 09-15 13:00 ?454次閱讀