怎么使用PHP中的cURL呢?
涉及到和第三方服务器打交道总难免要使用cURL工具,虽然一直在使用,但是对里面的操作知道的很少,这期将隆重的介绍一下cURL,一边会后更好的使用cURL。废话不多说,开始正文部分。
cURL到底是个什么呢?从字面意义上看应该是英文缩写,官方是这样解释的
cURL:Client URL Library Functions, 即使用CURL语法传输数据的命令行工具
既然是一个工具那么平时可以用来干些什么呢?在PHP的世界里可以模拟客户端向服务器端发送资源,
CURL的角色cURL可以做些什么呢,既然可以模仿客户端,可以做这些事情
·编写网页爬虫,获取网络资源
·获取WebService接口的数据资源,比如获取天气、微信用户等信息
·上传下载FTP服务器上的资源
·其他的操作....
cURL可以做绝大部分客户端的工作,功能很强大,既然这么厉害赶紧用起来,使用也很容易。
·第一步初始化cURL:curl_init()
`第二步向服务器发送数据并接受服务器返回的数据:curl_exec()
·第三步关闭cURL,curl_close()
最简单的操作就这么简单,稍微复杂的操作在第二步,针对不同的请求会有不同的参数设置,这也是我们学习的重心。
常规参数设置:
CURLOPT_HEADER: 启用后头文件的信息将作为数据流直接输出;
CURLOPT_RETURNTRANSFER:启用后curl_exec获取的信息将以字符串返回
CURLOPT_URL:需要获取的URL
CURLOPT_USERAGENT:用户代理,使得服务器能够识别客户使用的操作系统及版本、CPU 类型
CURLOPT_CONNECTTIMEOUT:连接时等待的秒杀
CURLOPT_TIMEOUT:cURL函数允许执行的最长秒数
CURLOPT_FOLLOWLOCATION:允许根据服务器返回的HTTP中的“Location”重定向
CURLOPT_MAXREDIRS:指定最多的HTTP重定向
POST设置:
CURLOPT_POST:为true发送POST请求
CURLOPT_POSTFIELDS:发送的POST数据,格式类似'para1=val1¶2=val2&...'
CURLOPT_HTTPHEADER:设置HTTP头部信息,格式为:['Content-type:application/x-www-form-urlencoded;charset=utf-8','Content-length:100']
cURL POST获取API中的数据这里设置参数使用的是curl_setopt_array函数,这个函数可以批量设置curl参数,建议这么操作,curl_error:返回最后一次错误的字符串,curl_errno:返回最后一次的错误代码。使用cURL发送POST数据就是这么简单,如果POST数据的时候还需要设置COOKIE怎么办呢,下面我们模拟登陆设置COOKIE
设置COOKIE需要的设置:
CURLOPT_COOKIESESSION:设置为true将开启一次新的会话cookie,强制libcurl忽略以前的会话
CURLOPT_COOKIEFILE:包含cookie数据的文件名
CURLOPT_COOKIEJAR:连接结束后,调用curl_close后,保存cookie信息的文件
CURLOPT_COOKIE:设置HTTP请求中的“Cookie::”部分的内容,多个cookie用分号分隔,分号后再加一个空格,比如: "fruit=apple; colour=red"
COOKIE代码截图1 COOKIE代码截图2