<?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); }
自写接口模拟
最新推荐文章于 2022-10-06 19:41:38 发布