这篇文章最后修改于 2022-06-23 日,距今已有 152 天,请注意甄别内容是否已经过时!
一言官网地址:https://hitokoto.cn/
请求地址:
HTTP(s): https://v1.hitokoto.cn/
参数名称 | 类型 | 描述 | |||
---|---|---|---|---|---|
c | 可选 | Cat,即类型。提交不同的参数代表不同的类别,具体: | |||
a | Anime - 动画 | ||||
b | Comic – 漫画 | ||||
c | Game – 游戏 | ||||
d | Novel – 小说 | ||||
e | Myself – 原创 | ||||
f | Internet – 来自网络 | ||||
g | Other – 其他 | ||||
其他不存在参数 | 任意类型随机取得 | ||||
encode | 可选 | ||||
text | 返回纯净文本 | ||||
json | 返回不进行unicode转码的json文本 | ||||
js | 返回指定选择器(默认.hitokoto)的同步执行函数。 | ||||
其他不存在参数 | 返回unicode转码的json文本 | ||||
charset | 可选 | ||||
utf-8 | 返回 UTF-8 编码的内容,支持与异步函数同用。 | ||||
gbk | 返回 GBK 编码的内容,不支持与异步函数同用。 | ||||
callback | 可选 | ||||
回调函数 | 将返回的内容传参给指定的异步函数。 |
返回参数名称 | 描述 |
---|---|
id | 本条一言的id。 可以链接到https://hitokoto.cn?id=[id]查看这个一言的完整信息。 |
hitokoto | 一言正文。编码方式unicode。使用utf-8。 |
type | 类型。请参考第三节参数的表格。 |
from | 一言的出处。 |
creator | 添加者。 |
cearted_at | 添加时间。 |
注意:如果encode参数为text,那么输出的只有一言正文。 |
示例
https://v1.hitokoto.cn/(从7种分类中随机抽取)
https://v1.hitokoto.cn/?c=b (请求获得一个分类是漫画的句子)
https://v1.hitokoto.cn/?c=f&encode=text (请求获得一个来自网络的句子,并以纯文本格式输出)
网页中的写法:
★首先ID是必不可缺的
代码语言:javascript复制<p id="hitokoto">:D 获取中...</p>
然后在下面调取方法中任选一个
代码语言:javascript复制<!-- 现代写法,推荐 --><!-- 兼容低版本浏览器 (包括 IE),可移除 -->
<script src="https://cdn.jsdelivr.net/npm/bluebird@3/js/browser/bluebird.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/whatwg-fetch@2.0.3/fetch.min.js"></script>
<!--End-->
<script>
fetch('https://v1.hitokoto.cn')
.then(function (res){ return res.json();
})
.then(function (data) { var hitokoto = document.getElementById('hitokoto');
hitokoto.innerText = data.hitokoto;
})
.catch(function (err) { console.error(err);
})</script>
代码语言:javascript复制<!-- 老式写法,兼容性最忧 -->
<script>
var xhr = new XMLHttpRequest();
xhr.open('get', 'https://v1.hitokoto.cn');
xhr.onreadystatechange = function () { if (xhr.readyState === 4) { var data = JSON.parse(xhr.responseText); var hitokoto = document.getElementById('hitokoto');
hitokoto.innerText = data.hitokoto;
}
}
xhr.send();</script>
代码语言:javascript复制<!-- 新 API 方法, 十分简洁 -->
<script src="https://v1.hitokoto.cn/?encode=js&select=#hitokoto" defer></script>