认识什么是接口
简而言之,是一些预先编写好的函数,外部操作人员不需要理解具体其底层原理,只要把对应的参数传递进去得到正确的结果,这个过程就称为调用接口。它是实现软件与硬件之间数据交互的一个方式。
接口的请求流程
确定请求地址->判断是否为post请求(如果是post请求的话那么先需要一步组装参数,再发送请求,如果是get请求,那么就直接发送请求)->发送请求->处理返回数据->end
请求类型
有post、get(这两个从请求方式上来看)
从协议的不同上可以考虑则有
http请求可以分为http协议和https协议
请求方式
①浏览器直接访问
②ajax请求
③在php中可以使用file_get_contents来产生get请求
④curl请求方式
对请求方式④进行案例实践(important)
如何封装curl请求
A:初始化连接 B:可能需要传递一些参数,进行配置参数(决定请求是否成功,是否有效) C:发送请求 D:关闭请求
<?php
namespace app\common\controller;
class Index
{
//该方法:提供url地址,提供是否为post,提供要传入的data数组(建议先封装好),提供是否为https请求
public function requestUrl($url,$post= true,$data=null,$https= false)
{
//1.初始化连接
$ch = curl_init();//初始化一个会话
//2.设置连接参数
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);//初始化的curl会话 选项 值 这一个设置,请求结果不输出
//这一步要判断是否是post请求,如果是post请求的话就要组装参数
if($post)
{
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLPOT_POSTFIELDS,$data);//要求data是一个数组
}
//判断是否是https请求
if($https==true)
{
curl_setopt($ch,CURLPOT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
}
//3.发送请求
$result = curl_exec($ch);
//4.关闭连接
curl_close($ch);
return $result;
}
}
开始学习如何接入接口
下载SDK与配置
SDK:软件开发工具包,实际上就是提供的一个demo案例,已经封装好了一些类,只要组合修改等就可以使用了。
拿到数据之后进行数据的传递,请求的发送
首先直接将auth的文件进行复制到入口文件中
<?php
/**
* 网站接入使用Auth认证接口进行授权
* 授权流程先通过浏览器重定向到授权服务器取得授权码(code)后
* 再从服务器使用接口调用获取到对应用户的访问令牌
*
*/
/**
* 包含SDK
*/
require("../classes/yb-globals.inc.php");
//配置文件
require_once 'config.php';
//初始化
$api = YBOpenApi::getInstance()->init($config['AppID'], $config['AppSecret'], $config['CallBack']);
$au = $api->getAuthorize();
//获取接口返回信息
//网站接入获取access_token,未授权则跳转至授权页面
$info = $au->getToken();
if(!$info['status'])
{//授权失败
echo $info['msg'];
die;
}
?>