本文的主要內容是用curl模擬HTTP請求,具有一定的參考價值,有需要的朋友可以看看,希望可以幫助到你。
cURL的官方定義為:curl is a command line tool for transferring data with URL syntax
,即使用URL語法規則來傳輸資料的命令列工具。
PHP 支援 Daniel Stenberg 建立的 libcurl 庫,能夠連線通訊各種伺服器、使用各種協定。libcurl 目前支援的協定有 http、https、ftp、gopher、telnet、dict、file、ldap。 libcurl 同時支援 HTTPS 證書、HTTP POST、HTTP PUT、 FTP 上傳(也能通過 PHP 的 FTP 擴充套件完成)、HTTP 基於表單的上傳、代理、cookies、使用者名稱+密碼的認證。
圖示:
/** * get方式傳送curl請求 * @param string $url 請求伺服器地址 * @param array $header 請求頭資料 * @param int $timeout 超時時間 * @return mixed * @author itbsl */ function curl_get($url, $header=[], $timeout=30) { //初始化curl $curl = curl_init(); //設定curl(請求的伺服器地址) //引數1: curl資源 //引數2: 設定項名稱 //引數3: 設定項的值 curl_setopt($curl, CURLOPT_URL, $url); //跳過安全證書驗證 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 從證書中檢查SSL加密演算法是否存在 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查 //設定獲取的資訊以檔案流的形式返回,而不是直接輸出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); //發出請求 $result = curl_exec($curl); //關閉curl資源 curl_close($curl); return $result; }
/** * post方式傳送curl請求 * @param string $url 請求的伺服器地址 * @param array $data 要傳送的資料 * @param array $header 請求頭資料 * @param int $timeout 超時時間 * @return mixed * @author itbsl<[email protected]> */ function curl_post($url, $data=[], $header=[], $timeout=30) { //初始化curl $curl = curl_init(); //設定curl(請求的伺服器地址) //引數1: curl資源 //引數2: 設定項名稱 //引數3: 設定項的值 curl_setopt($curl, CURLOPT_URL, $url); //跳過安全證書驗證 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 從證書中檢查SSL加密演算法是否存在 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查 //設定獲取的資訊以檔案流的形式返回,而不是直接輸出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); //設定請求方式為post請求 curl_setopt($curl, CURLOPT_POST, true); //設定post方式提交時攜帶的資料 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); //發出請求 $result = curl_exec($curl); //關閉curl資源 curl_close($curl); return $result; }
相關教學:PHP視訊教學
以上就是curl模擬http請求範例詳析的詳細內容,更多請關注TW511.COM其它相關文章!