WEB API
- 基于json通信
- 基于POST方法
架构图
web api 签名验证
签名方法
调用 API 时需要对请求参数(除sign)进行签名验证,服务器会对该请求参数进行验证是否合法的。方法如下:
根据参数名称(除签名和图片文件)将所有请求参数按照字母先后顺序排序:key + value .... key + value
例如:将foo=1,bar=2,baz=3 排序为bar=2,baz=3,foo=1,参数名和参数值链接后,得到拼装字符串bar2baz3foo1
系统暂时只支持MD5加密方式:
- md5:将 appsecret 拼接到参数字符串头、尾进行md5加密,格式是:md5(appsecretkey1value1key2value2...appsecret)
- 我们需要的是32位的字符串,字母全部小写(如果是md5出来的是大写字母,请转为小写),图片文件不用加入签名中测试。
- 以下所有api均需要以下参数: appid, sign_method, sign
状态码
err |
errmsg |
描述 |
200 |
成功 |
|
401 |
参数不正确 |
|
402 |
验证失败 |
|
403 |
缺少sign_method |
|
404 |
缺少sign参数 |
|
405 |
非法用户 |
|
406 |
不存在 |
|
500 |
未知错误 |
|
601 |
用户名已经存在 |
|
Json返回格式
{
"code" : "状态码",
"desc": "描述",
"result": "返回的数据结果"
}
文本搜索引擎
参数列表
参数名 |
描述 |
默认值 |
appid |
应用ID |
您自己的appid |
sign_method |
签名方式 |
目前支持MD5 |
sign |
签名 |
MD5加密后结果 |
text |
搜索内容 |
搜索内容, 最大长度:65535 |
docid |
文档id |
文档id, 用于搜索时返回 |
docids |
文档id范围 |
如: 1-1000, 搜索引擎会在id范围内进行搜索, 注: docids的最大取值范围为1 ~ 999999999999 |
tags |
标签 |
如: 搜索-引擎 被打上此标签的搜索内容, 最大长度:65535 |
timeout |
超时时间 |
如果搜索超时,也会有部分内容返回 |
获取搜索结果接口
接口地址
/search/
参数
text / tags / docids (text与tags至少有一项不为空,docids为必填项) / timeout (可选)
返回字段
tokens (关键词列表) / dos (文档列表,已经排序好的) / timeout (是否超时,如果超时也会返回部分结果)
上传需要被搜索的文档接口
接口地址
/index/
参数
text / docid / tags
返回字段
如果成功返回空 / 失败返回错误信息
中文分词
参数列表
参数名 |
描述 |
默认值 |
appid |
应用ID |
您自己的appid |
sign_method |
签名方式 |
目前支持MD5 |
sign |
签名 |
MD5加密后结果 |
text |
文本 |
要被分词的文本 |
mode |
模式 |
0 普通模式 1 搜索引擎模式 |
获取分词结果接口
接口地址
/cut/
参数
text / mode
返回字段
text(分词)/ pos(词性)
新闻WEB API
参数列表
参数名 |
描述 |
默认值 |
appid |
应用ID |
您自己的appid |
sign_method |
签名方式 |
目前支持MD5 |
sign |
签名 |
MD5加密后结果 |
tag |
分类 |
分类见下表 |
limit |
每次请求的条数 |
10 |
page |
页数 |
页数 |
获取新闻接口
接口地址
/news/
参数
tag / limit / page
分类列表
标签 |
推荐 |
热点 |
社会 |
娱乐 |
科技 |
汽车 |
时尚 |
字段 |
__all__ |
news_hot |
news_society |
news_entertainment |
news_tech |
news_car |
news_fashion |
获取美女图片接口
接口地址
/newsgirlpic/
参数:
tag / limit / page
获取全部美女图片分类: tag为空
获取分类下的图片: tag可选参数如下
标签 |
视觉大片 |
八卦 |
服饰搭配 |
美体瘦身 |
彩妆美发 |
字段 |
photograph_gallery |
gossip |
style |
body |
beauty |
小说WEB API
参数列表
参数名 |
描述 |
默认值 |
appid |
应用ID |
您自己的appid |
sign_method |
签名方式 |
目前支持MD5 |
sign |
签名 |
MD5加密后结果 |
first |
一级分类 1:男 0:女 |
无 |
second |
二级分类,按小说内容 |
无 |
novelid |
小说ID |
无 |
chapterid |
章节ID |
无 |
wd |
搜索关键词 |
无 |
获取小说分类接口
接口地址
/taglist/
参数
first / second
*注:如果获取全部分类目录 无需传first second
返回字段
first second name(二级分类名称)
获取某分类下的小说列表接口
接口地址
/novellist/
参数
first / second
返回字段
title, novelid, author, picture, introduction
获取小说简介接口
接口地址
/novelintroduction/
参数说明
novelid
返回字段
title, novelid, author, picture, introduction, chapternum
获取小说的章节列表接口
接口地址
/novelchapter/
参数说明
novelid
返回字段
title(小说标题), subtitle(小说章节标题), chapterid(章节id), novelid , author, picture, introduction
获取章节内容接口
接口地址
/novelcontent/
参数
chapterid
返回字段
title(小说标题), subtitle(小说章节标题), novelid(小说ID), content(内容), chapterid, prev(上一章节chapterid), next(下一章节chapterid)
小说点击事件上传
接口地址
/novelclick/
接口描述
上传用户小说点击数,用来记录小说总阅读数
参数
novelid
返回字段
novelid, novelpv(当前novelid的对应的小说阅读量)
获取小说排名
接口地址
/novelrank/
接口描述
获取小说热度排行榜
参数
page / limit
返回字段
novelid / title / novelpv / picture / author / first / second / rank(排名)
小说搜索
接口地址
/novelsearch/
接口描述
获取小说搜索结果
参数
wd
返回字段
id(即novelid) / title / novelpv / picture(在地址前加 http://api.9miao.com/static/spider/) / author / first / second / introduction
小说下载
接口地址
/noveldownload/
接口描述
下载小说
参数
novelid
返回字段
novelsrc (小说的下载地址)
小说文件格式
Json格式, 格式如下:
{
"title" : "XXXXXXXXXXX", //小说标题
"chaptercontent": [
{
"chapterid": 123,
"subtitle": "XXXXXXX",
"content": "XXXXXXXXXXXXXX",
},
]
}
用户认证接口
参数列表
参数名 |
描述 |
默认值 |
appid |
应用ID |
您自己的appid |
sign_method |
签名方式 |
目前支持MD5 |
sign |
签名 |
MD5加密后结果 |
username |
用户名 |
无 |
password |
密码 |
无 |
用户注册
接口地址
/register/
接口描述
用于开发者的用户注册
参数
username / password
返回字段
如果成功 code: 200 失败 code为相应错误码
亲加通讯云的用户登录验证
登录的用户名格式 account-appid-method-sign
将account,appid,method进行字典排序后md5加密
sign = md5(appsecretkey1value1key2value2...appsecret)
验证用户是否存在
接口地址
/checkuserexist/
接口描述
验证用户是否已经存在
参数
username
返回字段
存在code: 601 不存在 code: 602
开发计划
- 2015-12-18 将数据库中的小说转化为json,并形成txt文件,开发响应脚本,脚本名称 novelfile done
- 2015-12-14 提供小说文件下载接口 done
- 2015-12-14 将数据库中的小说文本转化为txt文件 done
- 2015-12-9 增加redis缓存