Rumah >pembangunan bahagian belakang >tutorial php >php curl的功能有什么?php curl库的应用(附代码)

php curl的功能有什么?php curl库的应用(附代码)

不言
不言asal
2018-08-08 15:40:071934semak imbas

微信微博公众号、QQ公众号、地图和很多的第三方功能提供都是采用http 的API(应用程序)形式向开发人员提供的功能。那么,如何请求微信、地图等第三方API呢?这个时候就需要使用到cURL,本文就来给大家介绍一下php curl库的应用。

cURL中文翻译过来叫做基于URL的函数库。它的主要功能是:使用相关的函数模拟协议请求。

例如:

  1. 模拟表单向某个地址发送数据

  2. 在无验证码的情况下模拟表单完成用户登陆

  3. 上传某个文件到远程服务器

  4. 请求远程服务器提供的某些功能
    ... ...

curl支持dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtmp, rtsp, smtp, smtps, telnet和tftp协议。
curl同时也支持HTTPS认证、HTTP的POST、HTT的PPUT、FTP上传(这个也能通过PHP的FTP扩展完成)、HTTP基于表单的上传、代理、cookies和用户名+密码的认证。

一、初使化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.php.cn");

三、参数设置是否返回请求结果

我们希望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);

其他参数非常多,有需要可以访问www.php.cn

六、执行或执行php curl获取返回结果

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

$output = curl_exec($ch);

七、关闭curl资源

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

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

curl_close($ch);

八丶将上面的组合在一起

相关文章推荐:

curl简介及php中的curl

PHP中使用CURL报错解决方案 rip curl php curl开启 curl下

PHP的CURL简单介绍

Atas ialah kandungan terperinci php curl的功能有什么?php curl库的应用(附代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn