CURL 是一個利用URL語法規定來傳輸文件和數據的工具,支持很多協議,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 CURL 庫。使用PHP的CURL 庫可以簡單和有效地去抓網頁。你只需要運行一個腳本,然后分析一下你所抓取的網頁,然后就可以以程序的方式得到你想要的數據了。無論是你想從從一個鏈接上取部分數據,或是取一個XML文件並把其導入數據庫,那怕就是簡單的獲取網頁內容,CURL 是一個功能強大的PHP庫。
PHP建立CURL請求的基本步驟
①:初始化
curl_init()
②:設置屬性
curl_setopt().有一長串CURL 參數可供設置,它們能指定URL請求的各個細節。
③:執行並獲取結果
curl_exec()
④:釋放句柄
curl_close()
示例
<?php //獲得笑話 function juheJoke() { //配置您申請的appkey $appkey = "***"; $url = "http://japi.juhe.cn/joke/content/text.from"; $params = array( "page" => "",//當前頁數,默認1 "pagesize" => 10,//每次返回條數,默認1,最大20 "key" => $appkey,//您申請的key ); $paramstring = http_build_query($params); $content = curl($url, $paramstring); $result = json_decode($content, true); if ($result && $result['error_code'] == '0') { return $result['result']['data'][mt_rand(0, 10)]['content']; } return "請求失敗"; } /** * 請求接口返回內容 * @param string $url [請求的URL地址] * @param string $params [請求的參數] * @param int $ipost [是否采用POST形式] * @return string */ function curl($url,$params=false,$ispost=0){ $ch = curl_init(); curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 ); curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' ); curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 ); curl_setopt( $ch, CURLOPT_TIMEOUT , 60); curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true ); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); if( $ispost ) { curl_setopt( $ch , CURLOPT_POST , true ); curl_setopt( $ch , CURLOPT_POSTFIELDS , $params ); curl_setopt( $ch , CURLOPT_URL , $url ); } else { if($params){ curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params ); }else{ curl_setopt( $ch , CURLOPT_URL , $url); } } $response = curl_exec( $ch ); if ($response === FALSE) { //echo "cURL Error: " . curl_error($ch); return false; } curl_close( $ch ); return $response; }