<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## **Curl類** ~~~ class Curls extends Controller { private static $url = ''; // 訪問的url private static $oriUrl = ''; // Referer url,告訴服務器來源頁面 private static $data = array(); // 可能發出的請求參數 get和post都有數組傳參方式 private static $method; // 訪問方式,默認是GET請求 private static $cookie = ''; // 是否傳遞cookie; 默認為空, 需要時傳入cookie參數 private static $returnCookie = 0; // 是否返回cookie; 默認0不返回 /* * 發送請求入口 * **/ public static function send($url, $data = array(), $method = 'get', $cookie = '', $returnCookie = 0) { //判斷傳入的url if (!$url){ return self::output('100', 'url不能為空!', ''); } self::$url = $url; self::$data = $data; self::$method = $method; self::$oriUrl = request()->url(true);//助手函數request獲取當前url self::$cookie = $cookie; self::$returnCookie = $returnCookie; // 請求方式判斷 if ( !in_array(self::$method, array('get', 'post') )) { return self::output('101', '非法請求方式!', ''); } return self::doRequest(self::$method); } /** * 基礎發起curl請求函數 * @param string $method 請求方式, get或者post */ private static function doRequest($method) { $curl = curl_init(); //初始化curl /* get方式 */ if ($method != 1) { self::$data = empty(self::$data) ? '' : self::dealGetData(self::$data);//處理get數據 self::$url = self::$url.self::$data; } curl_setopt($curl, CURLOPT_URL, self::$url); //抓取指定網頁 curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)'); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_AUTOREFERER, 1); curl_setopt($curl, CURLOPT_REFERER, self::$oriUrl); //來源,獲取的當前站點url curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求結果為字符串且輸出到屏幕上 /* post方式數據傳遞 */ if ($method == 1) { curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query(self::$data)); } /* 如果提交了cookie參數, 傳遞cookie參數 */ if(self::$cookie) { curl_setopt($curl, CURLOPT_COOKIE, self::$cookie); } curl_setopt($curl, CURLOPT_HEADER, self::$returnCookie); //是否返回cookie curl_setopt($curl, CURLOPT_TIMEOUT, 30); //超時設置 /* 執行并獲取數據 */ $result = curl_exec($curl); /* 出錯時的操作 */ $error_num = curl_error($curl); // 獲取錯誤碼,正常時為0 //出錯時 if ($error_num >0){ $error = include 'cURLError.php'; //載入錯誤信息 $error_msg = $error[$error_num]; //獲取對應錯誤信息 return self::output($error_num, $error_msg, ''); } else { $error_num = '0'; $error_msg = "請求正常!"; curl_close($curl); //關閉 /* 如果返回cookie */ if(self::$returnCookie){ list($header, $body) = explode("\r\n\r\n", $result, 2); preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches); $info['cookie'] = substr($matches[1][0], 1); $info['content'] = $body; return self::output($error_num, $error_msg, $info); } else { return self::output($error_num, $error_msg, $result); } } } /* * 處理get數據 * @param array $data 傳入的需要處理的數據 * @return string 包含參數與值的字符串 * **/ public static function dealGetData($data) { $output = '?'; foreach ($data as $k => $v){ $output .= $k.'='.$v.'&'; } $output = substr($output, 0 , -1); return $output; } /* * 返回數據 * @param int $code 狀態碼,為0時是ok的沒有出錯正常請求 * @param string $info 返回的錯誤信息 * @param array $result 返回的數據 * @return array * **/ public static function output($code, $info, $result) { return array( 'code' => $code, 'info' => $info, 'result' => $result ); } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看