您好,登錄后才能下訂單哦!
PHP-curl實現GET或POST請求
通過Curl方式很容易獲取目標網站數據
支持協議:Http、Https
可根據具體需求附帶表單、cookie。
GET請求:
/** * curl模擬get進行 http 或 https url請求(可選附帶cookie) * @parambool $type請求類型:true為https請求,false為http請求 * @paramstring $url請求地址 * @paramstring$cookie cookie字符串 * @returnstring返回字符串 */ function curl_get($type, $url, $cookie) {//type與url為必傳、若無cookie則傳空字符串 if (empty($url)) { return false; } $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL,$url);//抓取指定網頁 curl_setopt($ch, CURLOPT_HEADER, 0);//設置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求結果為字符串且輸出到屏幕上 if($type){ //判斷請求協議http或https curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 從證書中檢查SSL加密算法是否存在 } curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模擬用戶使用的瀏覽器 if(!empty($cookie))curl_setopt($ch,CURLOPT_COOKIE,$cookie); //設置cookie $data = curl_exec($ch);//運行curl curl_close($ch); return $data; }
POST請求:
/** * curl模擬post進行 http 或 https url請求(可選攜帶表單,cookie) * @parambool $type請求類型:true為https請求,false為http請求 * @paramstring$url請求地址 * @paramarray $post_data請求表單數據array("key1"=>"value1","key2"=>"value2"),表單以數組方式傳輸 * @paramstring$cookiecookie字符串 * @returnstring返回字符串 */ function curl_post($type, $url, $post_data, $cookie) {//type與url為必傳 ,表單post_data數組,和cookie字符串選傳 if (empty($url)) { return false; } if(!empty($post_data)){ $params = ''; foreach ( $post_data as $k => $v ) { $params.= "$k=" . urlencode($v). "&" ; } $params = substr($params,0,-1); } $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL,$url);//抓取指定網頁 curl_setopt($ch, CURLOPT_HEADER, 0);//設置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求結果為字符串且輸出到屏幕上 if($type){ //判斷請求協議http或https curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 從證書中檢查SSL加密算法是否存在 } curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模擬用戶使用的瀏覽器 if(!empty($cookie))curl_setopt($ch,CURLOPT_COOKIE,$cookie); //設置cookie if(!empty($post_data))curl_setopt($ch, CURLOPT_POSTFIELDS, $params); //設置表單 curl_setopt($ch, CURLOPT_POST, 1);//post提交方式 $data = curl_exec($ch);//運行curl curl_close($ch); return $data; }
以上就是PHP-curl通過GET或POST方式實現http及https請求的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。