Loading... # 前言 上篇文章我们讲到了一个使用curl在实践中的例子,通过发送get请求来获取指定的信息 具体可查看上一篇文章: > [《PHP curl实践-聚合登录示例》](https://www.iczrx.cn/archives/16/) --- But,在某些接口中只能用post请求,比如一些设计隐秘信息的接口,那么在遇到这种情况我们该怎么做呢?不慌 实践起来非常简单 ![码云Oauth2.0接口获取token](https://img2.imgtp.com/2024/03/17/AMHAD2DY.png) # 正文开始 以码云的Oauth2.0接口为例,上面说用户登录后,码云将用户授权码以GET形式发给服务器 因此我们先获取code的值才能进行下一步操作 直接上代码 ```php <?php $code = $_GET['code']; // 初始化cURL会话 $ch = curl_init(); // 设置cURL选项 curl_setopt($ch, CURLOPT_URL, "https://gitee.com/oauth/token?grant_type=authorization_code");//接口地址 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('code' => $code,'client_id'=>'','redirect_uri'=>'','client_secret'=>''))); // POST请求的数据 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 执行cURL会话 $response = curl_exec($ch); // 检查是否有错误发生 if(curl_errno($ch)){ echo 'cURL error: ' . curl_error($ch); } // 关闭cURL会话 curl_close($ch); $data = json_decode($response,true); $access_token = $data['access_token'];//获取token ?> ``` 在POST请求中我们将数据输入进一个数组内,通过数组的形式发送至接口 运行程序,成功获取到token 得到token之后就可以根据API文档进行进一步操作了 # 总结 当然这个运用不止在快捷登录上 你也可以尝试对接支付宝接口进行尝试获取付款码 当用户付款之后回调到callback地址来判断是否支付 本文程序体验地址:[https://iczrx.cn/web/gitee](https://iczrx.cn/web/gitee) 最后修改:2024 年 08 月 26 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 3 如果觉得我的文章对你有用,请随意赞赏