「许巍定制」自建 Typecho/WordPress 一言API本地服务并调用

Hitokoto·一言是一个挺有意思的项目,一言网(Hitokoto.cn)创立于2016年,隶属于萌创Team,目前网站主要提供一句话服务。

动漫也好、小说也好、网络也好,不论在哪里,我们总会看到有那么一两个句子能穿透你的心。我们把这些句子汇聚起来,形成一言网络,以传递更多的感动。

简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是电影中的经典台词亦或者是生活中的小感悟...

或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。

本API去除原API的各种链接、各种参数,简洁得只剩下字了!还能免去一个插件使用。

数据获取

  • 请求地址:https://inwao.com/hitokoto/
  • 请求方式:GET
  • 请求编码:接口:charset 参数:UTF-8/GBK
  • 请求参数:接口:format参数:js
  • 禁止协议:http请求协议已禁止,防劫持

<?php

//获取句子文件的绝对路径
//如果你介意别人可能会拖走这个文本,可以把文件名自定义一下,或者通过Nginx禁止拉取也行。
$path = dirname(__FILE__);
$file = file($path."/hitokoto.txt");

//随机读取一行
$arr  = mt_rand( 0, count( $file ) - 1 );
$content  = trim($file[$arr]);

//编码判断,用于输出相应的响应头部编码
if (isset($_GET['charset']) && !empty($_GET['charset'])) {
    $charset = $_GET['charset'];
    if (strcasecmp($charset,"gbk") == 0 ) {
        $content = mb_convert_encoding($content,'gbk', 'utf-8');
    }
} else {
    $charset = 'utf-8';
}
header("Content-Type: text/html; charset=$charset");

//格式化判断,输出js或纯文本
if ($_GET['format'] === 'js') {
    echo "function hitokoto(){document.write('" . $content ."');}";
} else {
    echo $content;
}
以上代码保存为 index.php,然后上传到网站根目录下的 hitokoto 文件夹, hitokoto.txt 文本文件自行添加句子并上传到 hitokoto 文件夹内。 

在您所需要显示的地方添加以下代码;

<script type="text/javascript" src="https://inwao.com/hitokoto/?format=js&charset=utf-8"></script>
<div id="hitokoto"><script>hitokoto()</script></div>

如不想自己搭建,可以直接复制以上代码添加到您所需要显示的地方即可。

hitokoto API 搭建于国内服务器,延迟低,速度快。

网络上有很多现成的一言API,随时都有可能不提供调用服务,而且别人的一言句子我不太喜欢,并且简单好用的都不开源,复杂的虽然开源,但是麻烦,还要数据库和其他环境编译什么的,麻烦!索性自己编写了一个,不需要数据库也不需要其他的环境编译,一个txt和一个php文件直接调用,简单高效。

现在,你每刷新一次,菜单栏上方都会出现不同的一句话哦。

自建一言API许巍歌词版本,去除了官方所有的文本,自收录许巍所有专辑经典歌词,个人定制。

如果您觉得速度不够理想或需要集成到主题里进行 api 调用,请访问链接:https://inwao.com/repair.html 进行查看。

2020.11.23 更新修复 wordpress 无法调用 BUG。

评论 (35)
  1. avatar
    沙发
    月心 2018-09-16 00:23

    来个源把!

  2. avatar
    板凳
    浪客小苏 2018-09-16 20:50

    来个源吧,还有你那个热门插件怎么不好用,,,调用无法显示

  3. avatar
    地板
    浪客小苏 2018-09-18 10:37

    感谢老哥,我调用到侧边栏了,很棒的效果,不错。

  4. avatar
    4 楼
    涉水轻舟 2018-09-20 21:40

    请博主来一枚API,怎么调用许少年的歌词作品的,同时也向博主学习下代码

  5. avatar
    5 楼
    微笑 2018-09-26 11:02

    博主给我来一份可好,用别人的接口总感觉容易挂

    • avatar
      回复
      Cyclists 2018-09-26 13:31
      @微笑 已发送,请注意查收。
      • avatar
        回复
        微信 2018-09-26 13:33
        @Cyclists 十分感谢,不过源码是不打算共享的吗
        • avatar
          回复
          Cyclists 2018-09-26 13:38
          @微信 不开源,其实也很简单的,网上也有大把类似的源码,我只不过只是简化了而已。
  6. avatar
    6 楼
    王叨叨 2018-10-09 13:28

    看了下官方文档,搞了一个类似的,没加过滤。

    • avatar
      回复
      Cyclists 2018-10-09 19:51
      @王叨叨 卧槽真大佬,我看了你的博客,你调用的参数真简单,直接集成在主题里,又给了我思路了。
  7. avatar
    7 楼
    内蒙小杨 2018-10-24 00:27

    求个资源,邮箱是:53360472@qq.com

  8. avatar
    8 楼
    乱码 2018-10-26 11:20

    Hello,我也开发了一个 关于古诗词的 一言 API,可以根据场景智能推荐。不知道博主有没兴趣看一看,我们还提供炒鸡方便的安装 SDK。一起学习哈哈。
    https://www.jinrishici.com

  9. avatar
    9 楼
    彳亍 2018-11-10 11:32

    博主我也求一份资源学习一哈~1017962439@qq.com

  10. avatar
    10 楼
    1 2019-07-27 22:30

    现在要,不知道还有没有。suyan17@qq.com

  11. avatar
    11 楼
    lybxo 2019-08-22 14:45

    dalao,还有吗441656462@qq.com
    谢谢

  12. avatar
    12 楼
    Soulxyz 2020-02-16 18:00

    我也想要,还有嘛xygzs2018#qq.com(#改@)

    • avatar
      回复
      Cyclists 2020-02-17 15:48
      @Soulxyz 疫情结束之后再发给你,我被困在老家,没电脑。
      • avatar
        回复
        soulxyz 2020-02-17 21:11
        @Cyclists 好的 最近我参照您的也做了一个 http://blog.yyqiang.top/hitokoto
      • avatar
        回复
        soulxyz 2020-02-17 21:14
        @Cyclists 好的 最近我参照您的也做了一个 http://blog.yyqiang.top/hitokoto
  13. avatar
    13 楼
    未知狐 2020-05-30 10:33

    啊,我也是写了个php文件。
    直接读取txt然后分出列表再按照随机数输出一行。

  14. avatar
    14 楼
    清峰 2020-06-24 15:46

    大佬,我也想要一个学习学习。clearhill@yeah.net

    • avatar
      回复
      Cyclists 2020-07-03 10:05
      @清峰 有空再给你吧,或者你照着教程写一个,很简单。
      • avatar
        回复
        清峰 2020-07-04 11:07
        @Cyclists 照着写了一个,不过没生效,还没弄明白是哪出了问题。目前直接调用您这里的了。