//

Information for details

php中如何使用curl

我们将使用curl分为七个步骤:

1、初使化curl资源;
2、参数设置请求的协议地址;
3、参数设置是否返回请求结果;
4、设置发送数据(无发送数据可不设置);
5、其他的参数信息设置;
6、执行或执行得到返回结果;
7、关闭curl资源;


所有curl设置参数设置都是通过curl_setopt都完成
curl_setopt这一步最为重要。

curl_setopt这一步完成了包括连接、参数和一切请求的细节设置。要一次性全部看完并理解可能比较困难,所以我们只试一下那些更常用也更有用的选项。

因为在php中我们用的最多的是http请求,所以我们将一些不需要大家使用到的这里就不作讲解。

如果感兴趣的朋友可以参考curl_setopt中复杂的参数设置。

一、初使化curl资源

这只有一句话,就是使用的是curl_init函数。这个参数法面要传入任何参数。返回curl的操作资源。

因为,我们在后面是通过curl_setopt向curl的操作资源变量压入数据的。

例:

$ch = curl_init();


二、参数设置请求的协议地址

curl_setopt函数的详细使用如下:

类型    说明
函数    curl_setopt
参数1    curl资源变量
参数2    curl参数选项
参数3    curl参数值
CURLOPT_URL
这个参数选项规定了请求的url地址。

curl_setopt($ch, CURLOPT_URL, "http://www.runchance.com");
三、参数设置是否返回请求结果

我们希望curl请求后返回对应的结果。我们要得到对应的结果,也需要设置一个参数,这个参数名为:CURLOPT_RETURNTRANSFER。

若需要返回值即为1。不需请求后返回的结果可设置为0。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
四、设置发送数据

如果是get请求,我们不需要设置发送的参数。在post等请求的时候,我们需要设置发送方法为post方法。并设置发送的数据。

*CURLOPT_POST *值设为1是使用POST方法,0为不使用POST方法

CURLOPT_POSTFIELDS设置传递的数据

//声明使用POST方式来进行发送
    curl_setopt($ch, CURLOPT_POST, 1);

//发送什么数据呢
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
五、其他的参数信息设置

如果是https有的时候我们需要忽略https的安全证书。

CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST 两个参数改为false即忽略了证书。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
CURLOPT_HEADER这个参数又决定是是否处理http的头信息,我们不想接收处理的话可将这个值设置为0。

curl_setopt($ch, CURLOPT_HEADER, 0);
此外,我们还可以设置请求的超时时间,参数为:CURLOPT_TIMEOUT。

curl_setopt($ch, CURLOPT_TIMEOUT, 10);
其他参数非常多,需要了解的可以百度相关知识:

六、执行或执行得到返回结果

我们第三步中,将CURLOPT_RETURNTRANSFER 参数中将值设为1。如果执行的结果有数据。使用curl_exec执行后,会将结果返回给$output变量。

$output = curl_exec($ch);


七、关闭curl资源

关闭curl资源。因为资源类型,我们反复强调过,有打开就有关闭。

如果不需要使用,使用curl_close关闭后立刻释放内存。

curl_close($ch);


云南然成科技有限公司是云南一家本土的集中高端网站建设、app开发、微信公众平台开发、OA系统开发以及其它系统定制开发的高端互联网公司!欢迎大家上门或者电话咨询了解!咨询电话:0871-67333261。

  • 滇公网安备 53010202001388号