成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

利用Guzzle刷豆瓣熱評引發(fā)的聯(lián)想

ad6623 / 3059人閱讀

摘要:是一個的客戶端,用來輕而易舉地發(fā)送請求,并集成到我們的服務(wù)上。接口簡單構(gòu)建查詢語句請求分流上傳下載大文件使用上傳數(shù)據(jù)等等。發(fā)送同步或異步的請求均使用相同的接口。使用接口來請求響應(yīng)分流,允許你使用其他兼容的類庫與共同開發(fā)。

Guzzle

Guzzle是一個PHP的HTTP客戶端,用來輕而易舉地發(fā)送請求,并集成到我們的WEB服務(wù)上。

接口簡單:構(gòu)建查詢語句、POST請求、分流上傳下載大文件、使用HTTP cookies、上傳JSON數(shù)據(jù)等等 。

發(fā)送同步或異步的請求均使用相同的接口。

使用PSR-7接口來請求、響應(yīng)、分流,允許你使用其他兼容的PSR-7類庫與Guzzle共同開發(fā)。

抽象了底層的HTTP傳輸,允許你改變環(huán)境以及其他的代碼,如:對cURL與PHP的流或socket并非重度依賴,非阻塞事件循環(huán)。

中間件系統(tǒng)允許你創(chuàng)建構(gòu)成客戶端行為。

所需包
    "require": {
        "guzzlehttp/guzzle": "6.2.*"
    }
源碼

     * @CreateTime  2017-04-12T10:39:28+0800
     * @param                               [type] $account  [description]
     * @param                               [type] $password [description]
     * @return                              [type]           [description]
     */
    public function __construct( $account, $password ){
        $this->jar = new CookieJar;
        try{
            if( $this->login( $account, $password ) == "200"){
                echo "----------【 START 】----------
";
                    $this->send();
                echo "----------【  END  】----------
";
            }else{
              echo "登錄失敗~!";
            }
        }catch (RequestException $e) {
            var_dump( $e->getRequest());
            if ($e->hasResponse()) {
                var_dump( $e->getResponse());
            }
        }
    }
    /**
     * [login 登錄]
     * @author     Shaowei Pu <542684913>
     * @CreateTime  2017-04-12T10:42:16+0800
     * @return                              [type] [description]
     */
    public function login( $account , $password ){
      // 清楚空間內(nèi)cookie
      // $this->jar->clear();
      return ( new Client([ "cookies"  =>  true ]) )->request(
            "POST", 
            "https://accounts.douban.com/j/popup/login/basic",
            [
              "version" => 1.1 ,
              "cookies"         => $this->jar,
              "headers"         => [
                                  "Accept"       => "application/json",
                                  "Referer"      => "登錄來源頁"
              ],
              "form_params"     => [
                                "source"           => "group",
                                "referer"          => "提交接口",
                                "name"             => $account,
                                "password"         => $password,
                                "captcha_id"       => "",
                                "captcha_solution" => ""
                ]
          ])->getStatusCode();
    }
    /**
     * [send 發(fā)送內(nèi)容]
     * @author     Shaowei Pu <[email protected]>
     * @CreateTime  2017-04-12T10:43:17+0800
     * @return                              [type] [description]
     */
    public function send() {
        // 獲得 ck
        $this->reload();        
        $ck    = "ntxB";
        array_map(function( $val ) use  (& $ck ){  $val["Name"] == "ck" && $ck = $val["Value"]; }, $this->jar->toArray());
        // 計時器
        while ( $this->clock > 0 ) {
          $send_content =  ( new Client([ "cookies"  =>  true ]) )->request(
            "POST", 
            "提交接口",
            [
              "version"         => 1.1,
              "cookies"         => $this->jar,
              "headers"         => [
                                  "Accept"       => "application/json",
                                  "Referer"      => "來源頁"
              ],
              "form_params"     => [
                                "ck"                => $ck,
                                "rv_comment"        => "自己頂一下~!",
                                "start"             => 0,
                                "submit_btn"        =>"加上去"
                                ]
              ])->getBody()->getContents();
              echo date("Y-m-d H:i:s")." ".$this->clock."
";
              sleep( self::SLEEP );
              --$this->clock;
        }
    }
    /**
     * [reload 刷新頁面]
     * @author     Shaowei Pu <[email protected]>
     * @CreateTime  2017-04-12T13:35:58+0800
     * @return                              [type] [description]
     */
    public function reload(){
      (new Client([ "cookies"  =>  true ])) ->request("GET", "訪問頁",[
          "cookies"         => $this->jar,
          "headers"         => [
                "Accept"       => "application/json",
                "Referer"      => "來源頁"
       ]]);
    }
}

new DouBanBrush("賬號","密碼");
還沒做的事

驗證碼識別

優(yōu)化效率

致敬

像 @娃娃脾氣 大佬致敬

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/82453.html

相關(guān)文章

  • 利用Guzzle豆瓣熱評引發(fā)聯(lián)想

    摘要:是一個的客戶端,用來輕而易舉地發(fā)送請求,并集成到我們的服務(wù)上。接口簡單構(gòu)建查詢語句請求分流上傳下載大文件使用上傳數(shù)據(jù)等等。發(fā)送同步或異步的請求均使用相同的接口。使用接口來請求響應(yīng)分流,允許你使用其他兼容的類庫與共同開發(fā)。 Guzzle Guzzle是一個PHP的HTTP客戶端,用來輕而易舉地發(fā)送請求,并集成到我們的WEB服務(wù)上。 接口簡單:構(gòu)建查詢語句、POST請求、分流上傳下載大文...

    xcc3641 評論0 收藏0
  • 利用Guzzle豆瓣熱評引發(fā)聯(lián)想

    摘要:是一個的客戶端,用來輕而易舉地發(fā)送請求,并集成到我們的服務(wù)上。接口簡單構(gòu)建查詢語句請求分流上傳下載大文件使用上傳數(shù)據(jù)等等。發(fā)送同步或異步的請求均使用相同的接口。使用接口來請求響應(yīng)分流,允許你使用其他兼容的類庫與共同開發(fā)。 Guzzle Guzzle是一個PHP的HTTP客戶端,用來輕而易舉地發(fā)送請求,并集成到我們的WEB服務(wù)上。 接口簡單:構(gòu)建查詢語句、POST請求、分流上傳下載大文...

    fou7 評論0 收藏0
  • 爬蟲 - 收藏集 - 掘金

    摘要:使用的爬蟲知乎用戶數(shù)據(jù)爬取和分析閱讀掘金背景說明小拽利用的寫的爬蟲,實驗性的爬取了知乎用戶的基本信息同時,針對爬取的數(shù)據(jù),進行了簡單的分析呈現(xiàn)。 Python 知乎爬蟲(最新) - 后端 - 掘金 環(huán)境:python3.x外部依賴包:requestsgithub項目地址 主要的問題:模擬登陸: 知乎現(xiàn)在改用https請求了,數(shù)據(jù)加密,但是問題不大,重要的是網(wǎng)頁數(shù)據(jù)改動了,而且在請求時后...

    zzbo 評論0 收藏0
  • 聯(lián)想黃昏降臨 復(fù)興機會還有多大?

    摘要:企業(yè)級業(yè)務(wù)聯(lián)想的機會還有多大年初,當時的全球市場老大惠普公司在中國臺灣打出了一則廣告聯(lián)想,連想都不要想,這一廣告語隨后引發(fā)軒然大波,并以惠普公司發(fā)出正式致歉信而告終。幾天前,一篇題為《假如帝國的黃昏降臨》的文章刷了屏,文中引述了橋水基金創(chuàng)始人Ray Dalio在新書《債務(wù)危機》中的一句話讓人印象深刻:很多人認為過去發(fā)生在不同年代,不同國家的經(jīng)濟危機都是由不同的原因造成的,而我只看到了同樣一些...

    joy968 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<