一言API的调用方法,随机语句

2022-11-28 11:22:57 浏览数 (1)

这篇文章最后修改于 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>

0 人点赞