PHP爬虫攻防,下面这个网址怎么爬?有报酬,有兴趣的可以@我

撞住 发布于 2019/10/25 13:58
阅读 378
收藏 0

【领华为电脑包】容器化时代到来!跳转机分配问题终于“有救”了!>>>

先进这个网址https://www.yabet20.com/app/sport,体育板块:

https://xj-sb-asia-yabo.prdasbbwla1.com/zh-cn/serv/getodds

我写了一个简单的CRUL,请求不了,也加上了头信息和cookie,都不行。

下面是我写的代码;

public function actionIndex()
    {
        $url = 'https://xj-sb-asia-yabo.prdasbbwla1.com/zh-cn/serv/getodds';
        $historyUrl = '%2Fm%2Fen-gb%2F';
        $cookie = 'sbmwl3-yabo=1360072458.20480.0000; ASP.NET_SessionId=1h4ejbukc4dmysb3mfqz3noy;mc=;historyUrl='. $historyUrl .';timeZone=480;settingProfile=OddsType=2&NoOfLinePerEvent=1&SortBy=1&AutoRefreshBetslip=True;opCode=XJ0001;lobbyUrl=localhost;logoutUrl=localhost';
        $header = [
            'Accept' => '*/*',
            'Accept-Encoding' => 'gzip, deflate, br',
            'Accept-Language' => 'zh-CN,zh',
            'q' => '0.9',
            'Connection' => 'keep-alive',
            'Cache-Control' => 'no-cache',
            //'Content-Length' => '216', // $Content-Length
            // 'Transfer-Encoding' => 'chunked', // $Content-Length
            'Content-Type' => 'application/x-www-form-urlencoded; charset=UTF-8',
            'Cookie' => $cookie,
            'Host' => 'xj-mbs-yabo.prdasbbwla1.com',
            'Origin' => 'https://xj-mbs-yabo.prdasbbwla1.com',
            'Referer' => 'https://xj-mbs-yabo.prdasbbwla1.com/m/en-gb/',
            'Sec-Fetch-Mode' => 'cors',
            'Sec-Fetch-Site' => 'same-origin',
            'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36',
            'X-Requested-With' => 'XMLHttpRequest',
        ];

        $post = ['IsFirstLoad' => true,
            'VersionH' => 0,
            'IsEventMenu' => false,
            'SportID' => 1,
            'CompetitionID' => -1,
            'reqUrl' => '/m/zh-cn/sports',
            'IsMobile' => true,
            'oCompetitionId' => 0,
            'oEventIds' => 0,
            'oIsFirstLoad' => true,
            'oPageNo' => 0,
            'oSortBy' => 1,
            'LiveCenterEventId' => 0,
            'LiveCenterSportId' => 1
        ];

        $data = $this->curl_with_cookiefile($url, $post, $cookie, $header);

        var_dump($data);
    }


    public function curl_with_cookiefile($url, $post_data, $cookie_file = null, $headers = array())
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        //传cookie
        if (!empty($cookie_file)) {
            curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);
        } else {
            curl_setopt($curl, CURLOPT_COOKIEFILE, $this->cookie);
        }
        
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
        
        //设置头参数;
        if (!empty($headers)) {
            //curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        }
        
        //设置CURLOPT_USERAGENT;
        if (!empty($headers['User-Agent'])) {
            curl_setopt($curl, CURLOPT_USERAGENT, $headers['User-Agent']);
        }

        $data = curl_exec($curl);

        curl_close($curl);
        return $data;
    }

加载中
返回顶部
顶部