您的位置:首页 > 理论基础 > 计算机网络

利用HttpClient.class.php本地模拟post请求

2016-04-19 00:00 841 查看
摘要: 时下手机APP开发甚火,作为APP开发过程当中的一项重要工作内容之一莫过于APP接口的开发了,而接口本地测试也就显得很有必要了。本博文通过HttpClient.class.php类本地模拟APP接口测试流程,整个流程很简单,共两个步骤。

步骤一:下载HttpClient.class.php工具类,将其引入测试项目中;

步骤二:根据接口请求数据参数构造参数数据;如:以某平台登录接口为例

某平台登录接口代码:

//手机号登录接口
$app->post('/login', function() use($app, $db) {
$body = @file_get_contents('php://input');
$output = json_decode($body, true);
$mobile = $output['mobile'];--》请求参数1
$password = md5($output['password']);--》请求参数2
$agency = $db->boka_agency();
$result = $agency->where('phone', $mobile)->fetch();
$uid = $result['uid'];
$agencytype=$result['agencytype'];
if (!$uid &&($agencytype==2||$agencytype==3)){
$data = array('errcode' => '1', 'msg' => '用户不存在');
$msg = array('code' => '200', 'data' => $data);
echo json_encode($msg, JSON_UNESCAPED_UNICODE);
} else {
$members = $db->boka_members()->where('uid', $uid)->fetch();
$uname = $members['username'];
$pwd = $members['password'];
if ($password == $pwd){
session_start();
$_SESSION['user']['uid'] = $uid;
$_SESSION['user']['username'] = $uname;
$isv = $agencytype==3 ? "1":"0";
$app->log->debug(session_id().'登录');
$app->log->debug($_SESSION);
setcookie("session_id", session_id(),time()+3600*24*30);
$data = array('errcode' => '0', 'msg' => '登录成功',

'session_id'=>session_id(),'uid'=>$uid,"isv"=>$isv);
$msg = array('code' => '200', 'data' => $data);
echo json_encode($msg, JSON_UNESCAPED_UNICODE);
} else {
$data = array('errcode' =>'1', 'msg' => '密码错误');
$msg = array('code' => '200', 'data' => $data);
echo json_encode($msg, JSON_UNESCAPED_UNICODE);
}
}
});

//本地模拟处理手机登录接口post请求代码文件,post.php:

<?php
include_once('HttpClient.class.php'); --》包含工具类文件
$Client = new HttpClient('127.0.0.1');
$url = "http://local.tianlian.com/api/index.php/login";--》手机登录接口请求地址
$params = array(
'mobile'=>'18600522808',
'password'=>'123456'
);
$params = json_encode($params);
$response= $Client->quickPost($url, $params);
echo $response;
因响应参数是正确数据,故运行post.php文件输出结果:{"code":"200","data":{"errcode":"0","msg":"登录成功","session_id":"56621252556666","uid":"28421","isv":"3"}},若是错误数据,则输出手机登录接口的数据错误代码部分的内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息