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

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

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

PHP中怎么使用HTTP代理

華益云HTTP爬蟲IP ? 來源:華益云HTTP爬蟲IP ? 作者:華益云HTTP爬蟲IP ? 2022-09-01 14:38 ? 次閱讀

PHP中怎么使用HTTP代理。

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

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

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

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

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

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

");
            $content = requestGet($url, $userAgent, $px);
            break;
        }catch(Exception $e){
            echo($e);
            if (count($outPutProxy)==0){
                // 判斷下代理還有沒有,沒有的了就重新獲取下
                $outPutProxy = getProxy($proxyUrl, $userAgent);
            }
        }
    }
    echo("
");
    echo("
");
    // htmlspecialchars 使用此函數(shù)不會渲染為網(wǎng)頁
    // 這便是響應內(nèi)容了
    echo(htmlspecialchars($content));

}
function getProxy($proxyUrl, $userAgent){
    $proxyIps = "";
    $outPutProxy = [];
    try{
        $proxyIps = requestGet($proxyUrl, $userAgent, array());
        # {"code":3002,"data":[],"msg":"error!用戶名或密碼錯誤","success":false}
        if (strpos($proxyIps, "{", 0) > -1){
            throw new Exception($proxyIps);
        }
        $eachIps = explode("\r\n", $proxyIps);
        foreach ($eachIps as $value){
            $currentIp = explode(":", $value);
            array_push($outPutProxy, array( $currentIp[0], $currentIp[1]));
        }
        
    }catch(Exception $e){
        echo($e);
    }
    // var_dump($outPutProxy);
    echo("總共獲取了");
    echo(count($outPutProxy));
    echo("個代理");
    echo("
");
    return $outPutProxy;
}
function requestGet($url, $userAgent, $proxy){
  $headerArray = array("User-Agent:$userAgent;");
  $ch = curl_init();
    # $headerArray =array("Content-type:application/json;","Accept:application/json");
  // 設置要請求的url
  curl_setopt($ch, CURLOPT_URL, $url);
  // 設置整體最大超時時間
  curl_setopt($ch, CURLOPT_TIMEOUT, 5);
  // 設置最大連接超時時間
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
  // 設置不驗證ssl證書
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
  // 設置不驗證ssl證書
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
  // 這樣設置的話我們可以拿到響應內(nèi)容并且可以保存在一個變量里
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  // 設置請求頭,比如 user-agent,cookie,referer啥的
  curl_setopt($ch, CURLOPT_HTTPHEADER, $headerArray);

  if (count($proxy) != 0){
    // 設置代理
    // curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1");
    // curl_setopt($ch, CURLOPT_PROXYPORT, "10809");
    curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
    curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
  }
  // 執(zhí)行發(fā)送請求
  $result = curl_exec($ch);
  curl_close($ch);
  return $result;
}
main()
?>
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    505

    瀏覽量

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

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68628
  • PHP
    PHP
    +關(guān)注

    關(guān)注

    0

    文章

    452

    瀏覽量

    26692
收藏 人收藏

    評論

    相關(guān)推薦

    講解HTTP代理類別,使用設置,測試HTTP代理方法

    HTTP
    jf_62215197
    發(fā)布于 :2024年07月19日 07:03:46

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

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

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

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

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

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

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

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

    java怎么使用HTTP代理

    java怎么使用HTTP代理,華益云python爬蟲ip
    的頭像 發(fā)表于 09-01 14:31 ?1690次閱讀

    python怎么使用HTTP代理

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

    go語言中怎么使用HTTP代理

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

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

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

    c語言中怎么使用HTTP代理

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

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

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

    python代碼如何使用HTTP代理

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

    python代碼如何使用HTTP代理

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

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

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

    http代理的作用如下所示

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