一、什么是Curl
Curl是一个利用url语法规定来传输文件和数据的工具,支持很多协议,如:HTTP、FTP、TELNET等。
幸运的是PHP也支持Curl库。本文将介绍Curl的一些高级特性,以及在PHP中如何运用它。
二、Curl的基本方法
在我们使用Curl做复杂的项目之前,先来了解学习一下在PHP程序中如何建立Curl请求,以及使用的基本步骤。
1)Curl方法初始化函数:curl_init();
2)设置curl变量函数:curl_setopt();这个方法在php操作curl中最为重要的一个方法,一切post或get或其他功能都是通过该函数实现的。该函数有一串的参数可供您参考设置,它也能指定url请求中的每一个细节,如果一次全部介绍完所有的参数是不太现实,我们这里介绍一些常用的参数给大家学习参考,剩下的很多参数大家可以自行查看php手册进行学习。
3)执行curl操作并获取返回结果函数:curl_exec();
4)释放curl执行句柄函数:curl_close();
上面的四个函数及为php操作curl实现所有功能的基本函数,需要大家牢牢记住。接下来我们就使用代码的形式给大家讲解curl是如何实现get和post请求的。
三、使用curl实现get和post请求
1)使用curl实现get请求
//初始化 $ch = curl_init(); //设置选项,包括URL curl_setopt($ch, curlOPT_URL, "http://www.icvio.com"); curl_setopt($ch, curlOPT_RETURNTRANSFER, 1); curl_setopt($ch, curlOPT_HEADER, 0); //执行并获取HTML文档内容 $output = curl_exec($ch); //释放curl句柄 curl_close($ch); //打印获得的数据 var_dump($output);
大家可以复制一下本段代码在您的本地执行一下,看看输出结果如何。
2)使用curl实现post请求
$url = "http://www.icvio.com"; $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); //打印获得的数据 var_dump($output);
以上是使用get和post方法获得我们官网首页的执行程序,如果可以您也可以将curl_setopt()中使用更多的参数进行测试。