【一】概论

日常开发里,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);