1.1 curl介绍
curl 是php的一个扩展, 利用该拓展可以实现服务器之间的数据或文件传输,也就说 CURL 就是一个工具, 用来做服务器之间数据文件的传输。
1.2 应用场景
用来采集网站中的html网络文件,其他服务器提供接口的数据等。
1.3 开启 CURL 扩展
1. 在 php.ini 里面开启 CURL 这个扩展
2. 将 php 的安装路径保存到环境变量的系统变量中
3. 重启 apache 服务器
4. 重启计算机
1.4 CURL 模拟 get 请求
public function curl_get()
{
//1. 开启curl,返回资源
$curl = curl_init();
//2. 设置curl工具请求的服务器文件地址
//参数1: curl资源
//参数2: 设置的请求的选项
//参数3: 请求选项的值
curl_setopt($curl, CURLOPT_URL, "http://www.baidu.com/index.php");
//3. 发出请求
curl_exec($curl);
//4. 关闭curl资源
curl_close($curl);
}
简述: curl_init() 是初始化
curl_setopt() 设置参数
curl_exec() 发送请求
curl_close() 关闭资源
1.5 CURL模拟post
public function curl_post()
{
//1. 开启curl,返回资源
$curl = curl_init();
//2. 设置curl工具请求的服务器文件地址
//2.1 开启post提交
curl_setopt($curl, CURLOPT_POST, true);
//2.2 提交什么数据
$data = array('order' => 'ESC1000012');
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_URL, 'http://api.99314.com/api/index/post_handle');
//3. 发出请求
curl_exec($curl);
//4. 关闭curl资源
curl_close($curl);
}
多了 开启post 添加数据2个步骤
1.6 CURL的一些常用的配置项
1. 通过 CURLOPT_RETURNTRANSFER 配置项设置, 可以设置 显示结果 还是 直接将 结果返回。 ture为结果返回。
//设置将结果返回而不是直接显示, true为返回结果
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
2. 针对https协议的请求, 需要验证客户端的安全证书, 通常都会跳过安全证书的验证
//跳过百度的https证书的验证
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); //不验证主机
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //不验证
3. CURLOPT_HEADER 是否返回 header 头信息。 1 返回, 0 不返回。
//是否返回header头信息,1返回, 0不返回
curl_setopt($curl, CURLOPT_HEADER, 0);