CURL 调用登录接口并且携带Token
curl页面:
<?php namespace frontend\controllers;
use yii\base\Controller;
use Yii;
class NewController extends Controller{ public $result=array(
'code'=>0,
'data'=>'',
'error'=>''
);
public function actionIndex(){
$user=Yii::$app->request->get('user');//获取用户名
$pwd=Yii::$app->request->get('pwd');//获取密码
$token=file_get_contents('./user.txt');//生成token
if(empty($user)){
return 1004;
}
if(empty($pwd)){
return 1005;
}
$url='http://www.xyii.com/v1/new/login';//登录接口地址
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,TRUE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch, CURLOPT_USERPWD, 'username' . ":" . 'password');//出现身份认证问题时加入
curl_setopt($ch,CURLOPT_HEADER,FALSE);
curl_setopt($ch,CURLOPT_POSTFIELDS,array('user'=>$user,'pwd'=>$pwd,'token'=>$token));
$data=curl_exec($ch);
curl_close($ch);
$data=json_decode($data);
$this->result['data']=$data;
return json_encode($this->result);
}
}
//登录接口 控制器层
$user=Yii::$app->request->post('user');
$pwd=Yii::$app->request->post('pwd');
$id=Yii::$app->request->post('id');
$token=Yii::$app->request->post('token');
if($id<1){
return 1000;
}
if(empty($user)){
return 1001;
}
if(empty($pwd)){
return 1002;
}
if(empty($token)){
return 1003;
}
$params=array(
'user'=>$user,
'pwd'=>$pwd
);
$rows=User::getOne($id);
$this->result['data']=$rows;
return $this->result;
//模型层
public static $_tbl='user';
public static function getOne($id){
$db=Yii::$app->db->createCommand("SELECT `id`,`user`,`pwd` FROM".self::$_tbl);
$query=$db->bindValue('id',$id)->queryOne();
if(is_array($query)){
return $query;
}
return array();
}
CURL 调用登录接口并且携带Token的更多相关文章
- Python接口测试中通过登录接口获取实时token
1.封装login_token 2.headers:对应登录请求头部信息 3.request_param:登录的参数数据 4.json.dumps:将一个Python数据结构转换为JSON 5.dic ...
- Python+request 登录接口reponse中token传递给其他接口使用,小示例介绍《一》
要求: 1.调用登录login 2.调用通过登录接口返回的reponse中的token和uuid,实现test_create_todo接口的测试 实现: 1.login登录接口的调用,直接填写对应的U ...
- Yii2通过curl调用json-rpc接口
Yii2可以通过json-rpc为前端提供接口数据,通常情况睛会使用异步的形式调用接口,有时也会使用curl调用接口数据. 一.异步调用json-rpc接口 $.ajax({ type: 'POST' ...
- php通过curl调用jpush接口实现消息的推送
public function actionNotifyto() { //$regid = $_REQUEST['regid']; $url = 'https://api.jpush.cn/v3/pu ...
- 用curl调用https接口
今天在windows下用curl类获取微信token一直返回false,查阅资料后,发现是https证书的锅,在curl类中加上这两条,问题瞬间解决. curl_setopt($ch, CURLOPT ...
- python+pytest接口自动化(13)-token关联登录
在PC端登录公司的后台管理系统或在手机上登录某个APP时,经常会发现登录成功后,返回参数中会包含token,它的值为一段较长的字符串,而后续去请求的请求头中都需要带上这个token作为参数,否则就提示 ...
- Spring Boot web API接口设计之token、timestamp、sign
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/vbirdbest/article/details/80789817一:token 简介Token:访 ...
- Java生鲜电商平台-API接口设计之token、timestamp、sign 具体设计与实现
转载:https://www.cnblogs.com/jurendage/p/12653865.html 说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安 ...
- Java生鲜电商平台-API接口设计之token、timestamp、sign 具体架构与实现(APP/小程序,传输安全)
Java生鲜电商平台-API接口设计之token.timestamp.sign 具体设计与实现 说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃 ...
随机推荐
- rosetta geometric constraint file(用于match和design)
cst(constraint file)文件示例: CST::BEGIN TEMPLATE:: ATOM_MAP: atom_name: C6 O4 O2 TEMPLATE:: ATOM_MAP: r ...
- Parallels Desktop 重装系统
安装教程,大家可以在网上找找 现在我想重装系统,怎么弄呢? 1.~/Documents/Parallels 目录下那个PVM后缀的文件直接删除 2.重装找开虚拟机,会弹出一个框,说找不到系统,点击删除 ...
- C#:特性
#define IsText//添加一个宏,接触注释 using System; using System.Collections.Generic; using System.Diagnostics; ...
- java Timer 定时每天凌晨0点执行任务
import java.util.TimerTask; /** * 执行内容 * @author admin_Hzw * */ public class Task extends TimerTask ...
- CentOS 7 通过SQLmap进行SQL注入
安装SQLmap: IP:192.168.94.11 渗透测试演练系统DVWA: IP:192.168.94.111 通过SQLmap检测SQL注入漏洞 : 1.安装SQLmap漏洞查看工具 2.安装 ...
- tensorflow神奇问题
运行tensorflow程序时,遇到了各种奇葩的问题,比如: 1.Import Error: DLL load failed: The specified module could not be fo ...
- RNA-seq基本流程
https://www.2cto.com/net/201801/714420.html
- flask 定义数据库关系(一对多)
定义关系 在关系型数据库中,我们可以通过关系让不同表之间的字段建立联系.一般来说,定义关系需要两步,分别是创建外键和定义关系属性.在更复杂的多对多关系中,我们还需要定义关联表来管理关系.下面我们学习用 ...
- WIFI CAT ET III Adapter Caterpillar ET3 New Arrival
The old bluetooth cat et adatper iii has stopped production, and you can get the new WIFI CAT Caterp ...
- K8S学习笔记之Kubernetes数据持久化方案
在开始介绍k8s持久化存储前,我们有必要了解一下k8s的emptydir和hostpath.configmap以及secret的机制和用途. 0x00 Emptydir EmptyDir是一个空目录, ...