Hitokoto API

更新:2014.02.22

问题/反馈:api # hitokoto.us

数据获取:[ 数据获取 ]

调用举例:[ JavaScript + HTML (同步) ] [ JavaScript + JSON CallBack (同步+异步调用两种) ]

点此看看哪些网站正在使用API

数据获取

  • 请求地址http://api.hitokoto.us/rand
  • SSLhttps://api.hitokoto.us:214/rand
  • 请求方式GET
  • 请求参数
  • cat返回指定分类的一句话,如果为空则返回任意分类的一言。若请求参数包含uid,则cat对应cid
  • charset字符集,支持gbk/utf-8,默认为utf-8
  • length返回一句话的长度限制,超出则打断并添加省略号
  • encode数据格式,对应如下
  • json默认为此,返回JSON格式数据
  • xml返回XML格式数据
  • js返回函数名为hitokoto的JavaScript脚本,用于同步调用
  • jsc返回指定CallBack函数名的JavaScript脚本,可用于异步调用
  • fun用于异步调用时,指定CallBack的函数名,不可包含特殊字符
  • uid获取“我的一言”
  • mix同时在系统收录的“一言”和获取“我的一言”中随机,若需指定用户分类请使用ucat参数
  • ucat配合mix参数使用,用于指定用户分类CID
  • 实例
  • 请求http://api.hitokoto.us/rand?cat=a&charset=utf-8
  • 返回
  • {
        id :  "1318722783000",
        hitokoto :  "呐,知道么,樱花飘落的速度,是每秒五厘米哦~",
        cat :  "a",
        catname :  "动画",
        author :  "烤飞鱼的土豆",
        source :  "秒速五厘米",
        like :  "5",
        date :  "2011.10.15 23:53:03"
    }

  • 参数说明
  • id一言的ID,可以通过 http://hitokoto.us/view/{ID}.html 查看指定条目
  • hitokoto一言的正文部分,不包含前后引号
  • cat分类,对应关系如下
  • aAnime - 动画
  • bComic - 漫画
  • cGame - 游戏
  • dNovel - 小说
  • e原创
  • f来自网络
  • g其他
  • catname分类cat对应的名字
  • author一言的投稿人
  • source一言的出处,可能为空
  • like一言的喜欢次数
  • date一言的投稿日期

调用举例 - JavaScript + HTML

  • 脚本地址http://api.hitokoto.us/rand?encode=js
  • SSLhttps://api.hitokoto.us:214/rand?encode=js
  • 使用方法
  • 1. 将下面这段代码放入HTML页面的head标签内
    <script type="text/javascript" src="http://api.hitokoto.us/rand?encode=js&charset=utf-8"></script>

    2. 将下面这段代码放入页面内需要展示一句话的位置即可
    <div id="hitokoto"><script>hitokoto()</script></div>

    该脚本实质为document.write的脚本。

调用举例 - JavaScript + JSON CallBack

  • 脚本地址http://api.hitokoto.us/rand?encode=jsc
  • SSLhttps://api.hitokoto.us:214/rand?encode=jsc
  • 使用方法
  • 同步
  • 1. 将下面这段代码放入HTML页面的head标签内
    <script type="text/javascript" src="http://api.hitokoto.us/rand?encode=jsc&fun=sync"></script>

    该脚本会与页面同步加载,加载成功后会自动调用指定的函数名,本实例中为sync,并将数据传递给该函数,提前定义该函数即刻达到接收并处理一言数据的目的。

  • 异步
  • 1. 将下面这段代码放入HTML页面的最底部
    <script
    type="text/javascript">setTimeout(function(){var
    hjs=document.createElement('script');hjs.setAttribute('src','http://api.hitokoto.us/rand?encode=jsc&fun=async');document.body.appendChild(hjs);},100);</script>

    通过setTimeout加载JavaScript脚本达到异步加载js脚本的目的,加载成功后会自动调用指定的函数名,本实例中为async,并将数据传递给该函数,提前定义该函数即刻达到接收并处理一言数据的目的。

(ヒトコト)一个挺有趣的东西!作为一个动漫宅,游戏宅来说还是一个挺有趣的接口!banner上面就是的更多相关文章

  1. 一个使用openGL渲染的炫丽Android动画库二(碎片化曲面动画)

    续一个使用openGL渲染的炫丽Android动画库 MagicSurfaceView v1.1.0发布, 新增碎片化曲面动画 地址:https://github.com/gplibs/android ...

  2. xml的序列化与反序列化求一个好用的东西,类似,newtonsoft.net转json的东西。xml里面的结构和数据库不一致..................

    xml的序列化与反序列化求一个好用的东西,类似,newtonsoft.net转json的东西.xml里面的结构和数据库不一致..................

  3. 第一个java的小东西

    第一次自己写的一个java的小东西,毕竟自己第一次写的,其中可谓是历经艰难,最后总结下来就是java实在是不适合写界面化的东西代码量比较大,这还不是最关键的,最关键的是控件的位置实在是太难控制了. 这 ...

  4. Google Protocol Buffer 的使用和原理(无论对存储还是数据交换,都是个挺有用的东西,有9张图做说明,十分清楚)

    感觉Google Protocol Buffer无论对存储还是数据交换,都是个挺有用的东西,这里记录下,以后应该用得着.下文转自: http://www.ibm.com/developerworks/ ...

  5. 用C#写一个函数,在一个数组中找出随意几个值相加等于一个值 与迭代器对比

    算法!用C#写一个函数,在一个数组中找出随意几个值相加等于一个值比如,数组{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}  要找出那些数相加等 ...

  6. canvas游戏小试:画一个按方向键移动的圆点

    canvas游戏小试:画一个按方向键移动的圆点   自己对canvas,但又有一颗做游戏的心TT.然后记录一下对canvas的学习吧,用一个按方向键控制的小圆点来做练习.(编程时用了一些es6的语法) ...

  7. LeetCode竞赛题:笨阶乘(我们设计了一个笨阶乘 clumsy:在整数的递减序列中,我们以一个固定顺序的操作符序列来依次替换原有的乘法操作符:乘法(*),除法(/),加法(+)和减法(-)。)

    通常,正整数 n 的阶乘是所有小于或等于 n 的正整数的乘积.例如,factorial(10) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1.相反,我们设计了一个笨 ...

  8. 给定一个正整数,实现一个方法求出离该整数最近的大于自身的 换位数 <把一个整数各个数位进行全排列>

    """给定一个正整数,实现一个方法求出离该整数最近的大于自身的 换位数 -> 把一个整数各个数位进行全排列""" # 使用 permu ...

  9. 设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”。。。

    设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”,则抛出一个异常信息“This is a XYZ”,如果从命令行输入 ABC,则没有抛出异常.(只有 ...

  10. ZOJ 3963 Heap Partition set维护。给一个序列,将其划分成尽量少的序列,使每一个序列满足按照顺序构造二叉树,父母的值<=孩子的值。

    Heap Partition Time Limit: Seconds Memory Limit: KB Special Judge A sequence S = {s1, s2, ..., sn} i ...

随机推荐

  1. Linux第八次学习笔记

    系统级I/O 输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程. 输入操作是从I/O设备拷贝数据到主存. I/O→主存 输出操作是从主存拷贝数据到I/O设备. 主存→I/O Unix I/O ...

  2. 20135316王剑桥 linux第十二周课实验笔记

    第十二章并发编程 1.如果逻辑控制流在时间上重叠,那么它们就是并发的.这种现象,称为并发(concurrency). 2.为了允许服务器同时为大量客户端服务,比较好的方法是:创建并发服务器,为每个客户 ...

  3. [30分钟]MSSQL快速入门教程

    1.什么是SQL语句 sql语言:结构化的查询语言.(Structured Query Language),是关系数据库管理系统的标准语言. 它是一种解释语言:写一句执行一句,不需要整体编译执行.语法 ...

  4. 『随笔』WCF开发那些需要注意的坑

    执行如下 批处理:"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\svcutil.exe" http://127.0.0.1: ...

  5. bcd 8421码

    bcd码表: 比如一个字符串 String s = "0200" 按对照表转换成二进制 02 : 0000 0010 00 : 0000 0000 s转换为字节的时候 02和00分 ...

  6. 状态机——Javascript词法扫描示例

    所谓的状态机实质其实很很简单,其存在的目的也是把大量复杂的处理分散,使处理变得简单化一些.状态机只有一个当前状态,并且在当前状态下根据输入进行处理,然后再决定是否改变当前状态,然后再处理下一个输入,如 ...

  7. WebGame开发总结

    不知不觉我们的项目开发有2年了,这两年来走了很多弯路,也收获了很多,今天在这里做一个总结. 项目基本情况: 服务器端采用c++和c#混合开发,网络层采用c++开发,业务逻辑用c#开发.客户端采用sil ...

  8. 工作的思考十七:工作中容易犯的错误 - Delay

    其实IT是一个很严谨的行业,不管是从代码角度还是从日常的工作分配都是按计划来的. 从今年年初到现在,在我的工作中出现了两次“Delay”,第一次不以为然,虽然上司也找过我谈话,但没意识到问题的严重性. ...

  9. 15.C#回顾及匿名类型(八章8.1-8.5)

    今天的篇幅应该会很长,除了回顾前面学的一些,还有写一些关于匿名类型的相关知识,总体上对后续的学习很有帮助,学好了,后面更容易理解,不明白的,那就前面多翻几次,看多了总是会理解的.那么,进入正题吧. 自 ...

  10. 结对子作业 四则运算 V2.0

    import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import ja ...