1.CURL介紹 CURL是一個利用URL語法規定來傳輸文件和數據的工具.支持不少協議,如HTTP、FTP、TELNET等。 幸運的是PHP也支持CURL庫。本文將介紹curl的一些高級特性,以及在PHP中如何運用它。 2.基本結構 在學習更爲複雜的功能以前,先來看一下在PHP中創建CURL請求的基本步驟: (1)初始化 curl_init() (2)設置變量 curl_setopt() //最爲重要,一切玄妙均在此。有一長串curl參數可供設置,它們能指定URL請求的各個細節。要一次性所有看完並理解可能比較困難,因此今天咱們只試一下那些更經常使用也更有用的選項。 (3)執行並獲取結果 curl_exec() (4)釋放curl句柄 curl_close() 3.CURL實現Get和Post
1)、Get方式實現 //初始化 $ch = curl_init(); //設置選項,包括URL curl_setopt($ch, curlOPT_URL, "http://www.xxx.com"); curl_setopt($ch, curlOPT_RETURNTRANSFER, 1); curl_setopt($ch, curlOPT_HEADER, 0); //執行並獲取HTML文檔內容 $output = curl_exec($ch); //釋放curl句柄 curl_close($ch); //打印得到的數據 print_r($output); 2)、Post方式實現 $url = "http://localhost/web_services.php"; $post_data = array ("username" => "uname","key" => "123456"); $ch = curl_init(); curl_setopt($ch, curlOPT_URL, $url); curl_setopt($ch, curlOPT_RETURNTRANSFER, 1); // post數據 curl_setopt($ch, curlOPT_POST, 1); // post的變量 curl_setopt($ch, curlOPT_POSTFIELDS, $post_data); $output = curl_exec($ch); curl_close($ch); //打印得到的數據 print_r($output); 以上方式獲取到的數據是json格式的,使用json_decode函數解釋成數組。 $output_array = json_decode($output,true); 若是使用json_decode($output)解析的話,將會獲得object類型的數據。
$url = 'http://commoncgi.dev.wepiao.com/common/default/decrypt'; $post_data = array ("channelId" => "501","str"=>$token); private function genurl($url,$post_data){ $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER , 1 ); curl_setopt( $ch, CURLOPT_TIMEOUT,10 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS , $post_data ); $return = curl_exec ( $ch ); curl_close ( $ch ); return $return; }