CURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 库。
首先我们先了解一下在php中建立Curl请求的一些基本步骤:
一,首先是get方式的实现(默认的)
1,先初始化
$ch = curl_init ( )
2,设置变量
curl_setopt ( ).其中这里设置变量是最为重要的,一切奇都在此
包括$url设置
curl_setopt($ch, CURLOPT_URL, "http://www.jb51.net");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
3.执行并获取HTML内容
$output=curl_exec($ch)
4,释放curl
curl_close($ch)
二,POst的传值方式
$url = "http://localhost/web_services.php";
$post_data = array ("username" => "bob","key" => "12345");
$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);
如:post验证登陆
header("content-type:text/html;charset=utf8");
//curl 中get的用法
/*先初始化*/
$cookie_file = tempnam('./temp','cookie');
$ch = curl_init();
//2,设置url地址
$url="http://www.yanbo.com/Obj/index.php/home/Login/index";
//3,设置属性
//设置连接方式
//传输数据
$data=array(
'user_name'=>'bowen',
'pwd' =>'123456'
);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//可以跳过https的验证
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
//相当于把浏览的网页内容存储到变量$output中然后输出
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
//把cookie存储在$cookie_file中
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);
$output=curl_exec($ch);
curl_close($ch);
//get 接收值
//1,初始化
$ch=curl_init();
$url="http://www.yanbo.com/Obj/index.php/home/Checkout/index";
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
//从文件中读取
$output=curl_exec($ch);
echo $output;
?>
get 方式
<?php
header("content-type:text/html;charset=utf8");
//curl 中get的用法
/*先初始化*/
$ch = curl_init();
//2,设置url地址
$url="https://www.taobao.com/";
//3,设置属性
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//可以跳过https的验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//相当于把浏览的网页内容存储到变量$output中然后输出
$output=curl_exec($ch);
echo $output;
curl_close($ch);
?>