怎么使用PHP中的cURL呢?

2018-06-02  本文已影响5人  Jack_7eb5

涉及到和第三方服务器打交道总难免要使用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
上一篇下一篇

猜你喜欢

热点阅读