PHP中使用curl入门教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHP中使⽤curl⼊门教程
概述
在我的上⼀篇⽂章“”中简单的给⼤家介绍了curl相关的知识。
这篇⽂章向⼤家介绍⼀下PHP中的curl扩展。
尽管在上⼀篇⽂章中,对curl和libcurl做了区分,也解释了某些相关的概念。
同时,也知道了PHP中的curl扩展其实是对libcurl 的封装。
但是,在这篇⽂章中,为了写起来⽅便,将不再对这两个概念进⾏区分,因此⽂章接下来提到的curl其实是指libcurl,希望不会把⼤家绕糊涂。
关于PHP中curl扩展这⾥就不再过多介绍了,⼤家可以查下⽂档。
安装curl
关于curl的安装,这⾥也不做过多的介绍。
windows和linux都是⼀样的流程,根据平台选择相应的安装⽅式,然后在php.ini⽂件中开启curl扩展,与别的扩展的安装都是⼀样的。
PHP中使⽤curl的步骤
在PHP中,可以使⽤curl完成各种各样的功能,如抓取⽹页,⽂件的上传/下载、模拟登录等。
但是这些功能的实现都是基于四个步骤完成的,所以curl的使⽤并不复杂。
使⽤curl时,主要分为以下四个步骤:
1.初始化⼀个curl实例—curl_init()
2.设置curl执⾏时的相关选项—curl_setopt()
3.执⾏curl查询—curl_exec()
4.关闭curl—curl_close()
在这四个步骤中,1、3、4步都很容易。
最⿇烦的就是2步,这⼀步设置curl的选项,这⾥有100多个不同的选项,要完成不同的功能,就要对这些选项进⾏组合。
下⾯对这四个步骤做⼀下说明:
1.初始化⼀个curl实例,这⼀步使⽤函数curl_init(),查看⼀下PHP⼿册,可以看到该函数的返回值是⼀个资源(resource)类型,我们需要使⽤⼀个变量来保存这个实例,因为后⾯的步骤都会⽤到这个实例。
具体代码⽰例:
复制代码代码如下:
$curl=curl_init(); //输出resource(2, curl)
2.设置curl相关选项,设置curl选项使⽤函数curl_setopt()。
该函数接受三个参数:第⼀个参数就是要设置的curl的实例也就是第⼀步中的那个实例,第⼆个参数要设置的选项,是⼀个预定义的常量,具体都有哪些选项,⼤家可以在⼿册⾥⾃⾏查阅。
第三个参数是要设置的选项的具体值。
代码⽰例:
复制代码代码如下:
curl_setopt ($curl, CURLOPT_URL, "");
3.执⾏curl查询,这⼀步使⽤函数curl_exec()。
该函数接受⼀个参数,这个参数也是第1步中获取的实例。
代码⽰例:
复制代码代码如下:
curl_exec ($curl);
4.关闭当前curl,这⼀步使⽤函数curl_close()。
该函数同样也是接受第1步中获取的curl实例作为参数。
代码⽰例:
复制代码代码如下:
curl_close($curl);
在PHP中使⽤curl⼀般都遵循这四个步骤,其中主要是通过对2步的不同设置来完成不同的功能,所以第2步是最⿇烦的,有的甚⾄需要⼤家⽤⼼理解。
⼀个简单的curl代码实例
前⾯给⼤家介绍了使⽤curl的四个步骤,这⾥给⼤家简单演⽰⼀个抓取⽹页内容的实例,代码很简单,但是希望能帮助⼤家更
好的理解curl。
抓取百度⾸页内容:
复制代码代码如下:
$curl=curl_init();
curl_setopt ($curl, CURLOPT_URL, "");
$baidu=curl_exec($curl);
curl_close($curl);
运⾏这⼀段代码,页⾯将显⽰百度⾸页。
总结
截⽌到今天,写了五六篇博客了。
很想把⾃⼰学习的知识记录下来,也很想跟⼤家分享,但是⼀直觉得⾃⼰的语⾔组织能⼒不是太好,不知道看到⽂章的⼈能不能看懂,希望以后在语⾔组织⽅⾯能不断进步吧。