av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

php遠(yuǎn)程請求CURL實例教程(爬蟲、保存登錄狀態(tài))

瀏覽:98日期:2022-09-08 14:43:22

cURL

cURL可以使用URL的語法模擬瀏覽器來傳輸數(shù)據(jù),因為它是模擬瀏覽器,因此它同樣支持多種協(xié)議,F(xiàn)TP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP等協(xié)議都可以很好的支持,包括一些:HTTPS認(rèn)證,HTTP POST方法,HTTP PUT方法,F(xiàn)TP上傳,keyberos認(rèn)證,HTTP上傳,代理服務(wù)器,cookies,用戶名/密碼認(rèn)證,下載文件斷點續(xù)傳,上傳文件斷點續(xù)傳,http代理服務(wù)器管道,甚至它還支持IPv6,scoket5代理服務(wù)器,通過http代理服務(wù)器上傳文件到FTP服務(wù)器等等。

本文主要介紹的是php遠(yuǎn)程請求CURL(爬蟲、保存登錄狀態(tài))的相關(guān)內(nèi)容,下面話不多說了,來一起看看詳細(xì)的介紹吧

GET案例

/** * curl_get * @param $url * @param null $param * @param null $options * @return array */function curl_get($url,$param = null,$options = null){ if(empty($options)){ $options = array( ’timeout’ => 30,// 請求超時 ’header’ => array(), ’cookie’ => ’’,// cookie字符串,瀏覽器直接復(fù)制即可 ’cookie_file’ => ’’,// 文件路徑,并要有讀寫權(quán)限的 ’ssl’ => 0,// 是否檢查https協(xié)議 ’referer’ => null ); }else{ empty($options[’timeout’]) && $options[’timeout’] = 30; empty($options[’ssl’]) && $options[’ssl’]= 0; } $result = array( ’code’ => 0, ’msg’ => ’success’, ’body’ => ’’ ); if(is_array($param)){ $param = http_build_query($param); } $url = strstr($url,’?’)?trim($url,’&’).’&’.$param:$url.’?’.$param; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL, $url);// 設(shè)置url !empty($options[’header’]) && curl_setopt($ch, CURLOPT_HTTPHEADER, $options[’header’]); // 設(shè)置請求頭 if(!empty($options[’cookie_file’]) && file_exists($options[’cookie_file’])){ curl_setopt($ch, CURLOPT_COOKIEFILE, $options[’cookie_file’]); curl_setopt($ch, CURLOPT_COOKIEJAR, $options[’cookie_file’]); }else if(!empty($options[’cookie’])){ curl_setopt($ch, CURLOPT_COOKIE, $options[’cookie’]); } curl_setopt($ch, CURLOPT_ENCODING, ’gzip’); //curl解壓gzip頁面內(nèi)容 curl_setopt($ch, CURLOPT_HEADER, 0);// 不獲取請求頭 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// 輸出轉(zhuǎn)移,不輸出頁面 !$options[’ssl’] && curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $options[’ssl’]); // 禁止服務(wù)器端的驗證ssl !empty($options[’referer’]) && curl_setopt($ch, CURLOPT_REFERER, $options[’referer’]);//偽裝請求來源,繞過防盜 curl_setopt($ch, CURLOPT_TIMEOUT, $options[’timeout’]); //執(zhí)行并獲取內(nèi)容 $output = curl_exec($ch); //對獲取到的內(nèi)容進(jìn)行操作 if($output === FALSE ){ $result[’code’] = 1; // 錯誤 $result[’msg’] = 'CURL Error:'.curl_error($ch); } $result[’body’] = $output; //釋放curl句柄 curl_close($ch); return $result;}

POST案例

/** * curl_post * @param $url 請求地址 * @param null $param get參數(shù) * @param array $options 配置參數(shù) * @return array */function curl_post($url,$param = null,$options = array()){ if(empty($options)){ $options = array( ’timeout’ => 30, ’header’ => array(), ’cookie’ => ’’, ’cookie_file’ => ’’, ’ssl’ => 0, ’referer’ => null ); }else{ empty($options[’timeout’]) && $options[’timeout’] = 30; empty($options[’ssl’]) && $options[’ssl’]= 0; } $result = array( ’code’ => 0, ’msg’ => ’success’, ’body’ => ’’ ); if(is_array($param)){ $param = http_build_query($param); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url);// 設(shè)置url !empty($options[’header’]) && curl_setopt($ch, CURLOPT_HTTPHEADER, $options[’header’]); // 設(shè)置請求頭 if(!empty($options[’cookie_file’]) && file_exists($options[’cookie_file’])){ curl_setopt($ch, CURLOPT_COOKIEFILE, $options[’cookie_file’]); curl_setopt($ch, CURLOPT_COOKIEJAR, $options[’cookie_file’]); }else if(!empty($options[’cookie’])){ curl_setopt($ch, CURLOPT_COOKIE, $options[’cookie’]); } curl_setopt($ch, CURLOPT_ENCODING, ’gzip’); //curl解壓gzip頁面內(nèi)容 curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $param); curl_setopt($ch, CURLOPT_HEADER, 0);// 不獲取請求頭 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// 輸出轉(zhuǎn)移,不輸出頁面 !$options[’ssl’] && curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $options[’ssl’]); // 禁止服務(wù)器端的驗證ssl !empty($options[’referer’]) && curl_setopt($ch, CURLOPT_REFERER, $options[’referer’]);//偽裝請求來源,繞過防盜 curl_setopt($ch, CURLOPT_TIMEOUT, $options[’timeout’]); //執(zhí)行并獲取內(nèi)容 $output = curl_exec($ch); //對獲取到的內(nèi)容進(jìn)行操作 if($output === FALSE ){ $result[’code’] = 1; // 錯誤 $result[’msg’] = 'CURL Error:'.curl_error($ch); } $result[’body’] = $output; //釋放curl句柄 curl_close($ch); return $result;}

其他請求類型請自己參考封裝處理

到此這篇關(guān)于php遠(yuǎn)程請求CURL(爬蟲、保存登錄狀態(tài))的文章就介紹到這了,更多相關(guān)php遠(yuǎn)程請求CURL(爬蟲、保存登錄狀態(tài))內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 狠狠干婷婷| 69av视频| 亚洲午夜18毛片在线看 | 欧美日韩国产精品 | 亚洲精品久久久久久久久 | 成人网页 | 国产va在线观看 | 亚洲国产中文字幕 | 精品国产精品 | 99久热 | 欧美精品一 | 亚洲日本在线观看 | 免费的毛片 | 日韩欧美精品一区二区 | 在线观看黄色小视频 | 视频一区二区在线 | 国产福利网站 | 亚洲精品影院 | 日韩亚洲欧美在线 | 亚洲精品字幕在线观看 | 免费色片 | 成人免费看片39 | 日韩av免费播放 | 色综合天天综合网天天狠天天 | 一二三区视频 | 黄色网址视频 | 一区视频在线 | 亚洲永久免费视频 | 欧美色偷偷 | 黄色一级片黄色一级片 | 午夜精品久久久久久 | 99久久精品国产一区二区成人 | 成人高潮片免费视频 | 九一国产精品 | 日本少妇中文字幕 | 黄色大毛片 | 免费h片 | 91丨porny丨成人蝌蚪 | a级片免费在线观看 | 狠狠干免费视频 | 欧美伊人久久 |