<pre name="code" class="php"><pre name="code" class="php"><?php
//接口编写
/*
* 借口数据返回
* 接口文档编写
* 接口安全 (安全验证)
* 接口防止非法多次请求 (在一定的时间内不能多次请求接口)
*/
//ID = 1 的秘钥(9314313ce277ecda040b68c80a6bc52a)
//接口文档
/*
接口说明:根据某个ID值,查出所有的数据,并返回数据
接口地址:http://www.liuyang.com/php7/port1/a.php
支持格式:json/xml
请求方式:get
请求示例:http://www.liuyang.com/php7/port1/a.php?key=约定秘钥&id=传递的ID值
请求参数说明:
名称 类型 必填 说明
key string 是 你申请的秘钥 md5('hello word'.ID);
id int 是 所需要的ID
dtype string 否 返回数据的格式,xml或json,默认json;
返回参数说明:
名称 类型 说明
code int 返回状态码
id int 返回码
title string 返回标题
content string 返回内容
JSON返回示例:
JSON => url = "http://www.liuyang.com/php7/port1/a.php?areacode=123122&key=约定秘钥&id=传递的ID值";
[{"id":"1","title":"一文总结Keep教科书般的运营策略:怎样让用户帮你推广?","url":"\/article\/162628.html","img":"images\/14732118654422.jpg","content":"所以,杰伦、思聪的LOL现在什么水平?"}]
XML返回示例:
XML url = "http://www.liuyang.com/php7/port1/a.php?areacode=123122&key=约定秘钥&id=传递的ID值?&dtype=xml";
<news>
<new>
<id>1</id>
<title>一文总结Keep教科书般的运营策略:怎样让用户帮你推广?</title>
<url>/article/162628.html</url>
<content>所以,杰伦、思聪的LOL现在什么水平?</content>
</new>
</news>
JSONP返回示例:
JSONP url = "http://www.liuyang.com/php7/port1/a.php?areacode=123122&key=约定秘钥&id=传递的ID值&dtype=jsonp&callback=data";
[{"id":"1","title":"一文总结Keep教科书般的运营策略:怎样让用户帮你推广?","url":"\/article\/162628.html","img":"images\/14732118654422.jpg","content":"所 以,杰伦、思聪的LOL现在什么水平?"}]
*/
$id = $_GET['id'];
$key = $_GET['key'];
$dtype = isset($_GET['dtype']) ? $_GET['dtype'] : 'json';
//服务(生成接口端)生成key,并拿此生成的key和用户传递过来的key值进行对比
$app_key = md5('hello word'.$id);
// echo $app_key;die;
if($key != $app_key)
{
die('非法请求');
}
//生成接口
$pdo = new PDO('mysql:host=www.liuyang.com;dbname=test','root','root');
$pdo->exec('set names utf-8');
$sql = "SELECT * FROM huxiao WHERE id='$id'";
$data = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
if(empty($data))
{
echo "您请求的数据不存在!";
$data['success'] = 0;
}
else
{
$data['success'] = 1;
}
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 $val)
{
echo "<new>";
echo "<id>{$val['id']}</id>";
echo "<title>{$val['title']}</title>";
echo "<url>{$val['url']}</url>";
echo "<content>{$val['content']}</content>";
echo "</new>";
}
echo '</news>';
}
else if($dtype=="jsonp")
{
$callback = $_GET['callback'];
$str = json_encode($data,JSON_UNESCAPED_UNICODE);
echo $callback."(".$str.")";
}
else
{
header("content-type:text/html;charset=utf-8");
//生成JSON格式的数据
echo json_encode($data,JSON_UNESCAPED_UNICODE);
}
?>
编写接口事例
最新推荐文章于 2022-07-10 21:26:42 发布