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 ; } |