【一】概论
日常开发里,cURL使用最多的协议就是HTTP协议的GET、POST请求,其他协议和请求方式用的较少。
【二】开启
开发前检验是否开启了cURL模块,开启方法为php.int中打开extension=php_curl.dll即可
开启后去页面查看是否包含enable开启
【三】使用步骤
(1)初始化cURL资源
$cn = curl_init();
(2)传入参数,设置请求的协议地址
//设置选项,包括URL curl_setopt($cn,CURLOPT_URL,"localhost");
(3)参数设置是否返回请求结果
curl_setopt($cn, CURLOPT_RETURNTRANSFER, 1);
(4)设置发送数据(无发送数据可不设置)
curl_setopt($cn, CURLOPT_HEADER, 0);
(5)其他参数信息设置(按实际工作需求决定)
(6)执行或执行得到返回结果
//执行并获取html文档内容 $output = curl_exec($cn);
(7)释放cURL句柄,关闭cURL资源
//释放cURL句柄 curl_close($cn); //打印获得的数据 print_r($output);
完整代码:
<?php // phpinfo(); $cn = curl_init(); //设置选项,包括URL curl_setopt($cn,CURLOPT_URL,"http://www.php.cn"); curl_setopt($cn, CURLOPT_RETURNTRANSFER, 1); curl_setopt($cn, CURLOPT_HEADER, 0); //执行并获取HTML文档内容 $output = curl_exec($cn); //释放cURL句柄 curl_close($cn); //打印获得的数据 print_r($output); ?>
注意:第二步到第五步可以合为一个步骤,统称为cURL参数设置。所有curl参数设置都是通过curl_setopt()完成
【详解】
(1)初始化cURL资源
在后面通过curl_setopt()向curl的操作资源变量压入数据
(2)参数设置请求的协议地址
curl_setopt(资源变量,参数选项,参数值);
CURLOPT_URL这个参数选项规定了请求的url地址
(3)参数设置是否返回请求结果
若要curl请求返回对应的结果,则需要设置一个参数。参数名为:CURLOPT_RETURNTRANSFER
若需要返回值,则设置为1。无需返回结果则设置为0即可
(4)设置发送的数据
若是get请求,则不需要设置发送的参数。
若为post请求,则需要设置发送的参数
CURLOPT_POST值设为1是使用POST方法,0为GET方法
(5)其他参数信息设置
若是https有时需要忽略安全证书
此外还可以设置超时时间
curl_setopt($cn,CURLOPT_TIMEOUT,10);