自写接口模拟

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/9/21
 * Time: 10:25
 */
//接口编写
/*
接口数据返回
接口文档编写
接口安全
接口防止多次请求 在一定时间内不能多次请求
*/
/*
 * 接口说明 根据id 查询新闻 并返回数据
 * 接口地址:http://localhost/www/m9/d921/jiekou.php
支持格式:json/xml
请求方式:get
请求示例:http://localhost/www/m9/d921/jiekou.php?key=约定的key&cid=传递的id
调用样例及调试工具:API测试工具
请求参数说明:
   名称     类型     必填     说明
   cid    int    是  查询的分类id
   key    string     是  应用APPKEY(约定的秘钥)md5('hello'.cid)
   dtype  string     否  返回数据的格式,xml或json,默认json
返回的参数
   名称     类型     说明
   code   int    返回码
   reason     string     返回说明
   result     string     返回结果集
   title  string     标题
   content    string     内容
返回json示例
{
"resultcode":"200",
"reason":"Return Successd!",
"result":{
    "province":"浙江",
    "city":"杭州",
    "areacode":"0571",
    "zip":"310000",
    "company":"中国移动",
    "card":"移动动感地带卡"
}
}
 */
//接受参数
header("content-type:text/xml;charset=utf-8");
$cid=$_GET['cid'];
$key=$_GET['key'];
$dtype=isset($_GET['dtype'])? $_GET['dtype']:'json';
//服务 生成接口端生成key并拿key和用户的key进行比对
//203ad5ffa1d7c650ad681fdff3965cd2
//203ad5ffa1d7c650ad681fdff3965cd2
//203ad5ffa1d7c650ad681fdff3965cd2
//203ad5ffa1d7c650ad681fdff3965cd2
//720105717f1fdd61f1aa3f99ad9c2cbc
$app_key=md5('hello');
//echo $app_key;
if($key!=$app_key){
    die('非法请求');
}
//生成接口
$pdo=new PDO('mysql:host=localhost;dbname=demo','root','root');
$pdo->exec("set names utf8");
$sql="select * from news WHERE cid=$cid";
$data=$pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
if($dtype=='xml'){
    header("content-type:text/xml;charset=utf-8");
//生成xml
  echo '<?xml version="1.0" encoding="utf-8"?>';
    echo '<news>';
        foreach($data as $v){
            echo '<new>';
                echo "<title>{$v['title']}</title>";
                echo "<content>{$v['content']}</content>";
            echo '</new>';
        }
//    echo '</news>';
   //定义根元素

}else{
 //生成json
        header("content-type:text/html;charset=utf-8");
        echo json_encode($data,JSON_UNESCAPED_UNICODE);

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值