php http請求封裝


/**
     * 發送HTTP請求方法,目前只支持CURL發送請求
     * @param  string $url    請求URL
     * @param  array  $params 請求參數
     * @param  string $method 請求方法GET/POST
     * @return array  $data   響應數據
     */
    protected function http($url, $params, $method = 'GET', $header = array(), $multi = false) {
        $opts = array(CURLOPT_TIMEOUT => 30, CURLOPT_RETURNTRANSFER => 1, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HTTPHEADER => $header);

        /* 根據請求類型設置特定參數 */
        switch(strtoupper($method)) {
            case 'GET' :
                $opts[CURLOPT_URL] = $url . '&' . http_build_query($params);
                dump($opts[CURLOPT_URL]);
                break;
            case 'POST' :
                //判斷是否傳輸文件
                $params = $multi ? $params : http_build_query($params);
                $opts[CURLOPT_URL] = $url;
                
                dump($opts[CURLOPT_URL]);
                $opts[CURLOPT_POST] = 1;
                $opts[CURLOPT_POSTFIELDS] = $params;
                break;
            default :
                throw new Exception('不支持的請求方式!');
        }

        /* 初始化並執行curl請求 */
        $ch = curl_init();
        curl_setopt_array($ch, $opts);
        $data = curl_exec($ch);
        $error = curl_error($ch);
        curl_close($ch);
        if ($error)
            throw new Exception('請求發生錯誤:' . $error);
        return $data;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM