V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
coffeemayor
V2EX  ›  分享创造

Typecho 调取一言 API 方案

  •  
  •   coffeemayor · 2018-10-18 14:07:01 +08:00 · 3549 次点击
    这是一个创建于 2237 天前的主题,其中的信息可能已经有所发展或是发生改变。
    找到自己主题中的 functions.php 。

    在<?php 下面 输入:

    function getHitokoto(){
    $url = 'https://v1.hitokoto.cn/?c=g'; // http://api.hitokoto.cn/
    $array_data = json_decode(file_get_contents($url),true);
    $content = $array_data['hitokoto'].'----《'.$array_data['from'].'》';
    echo $content;
    }

    接着调用你想放的任何地方:<?php getHitokoto(); ?>

    就是如此简单,感谢 [王叨叨] 制作分享。
    13 条回复    2018-10-22 16:09:58 +08:00
    fcten
        1
    fcten  
       2018-10-18 14:58:00 +08:00
    为什么不用 js 获取?

    你这样做,万一请求的 api 故障,你的网站也会卡住
    coffeemayor
        2
    coffeemayor  
    OP
       2018-10-18 15:42:41 +08:00
    @fcten 大佬分享一下哈~
    yuluofanchen
        3
    yuluofanchen  
       2018-10-18 16:16:07 +08:00
    有点麻烦,直接采集一言的,不好,一共 1409 个句子。

    https://hitokoto.cn/?id=1
    https://hitokoto.cn/?id=2
    https://hitokoto.cn/?id=3
    .
    .
    .
    https://hitokoto.cn/?id=1409
    Wincer
        4
    Wincer  
       2018-10-18 16:21:35 +08:00
    @coffeemayor 借楼分享一下我的一言 API,比 cn 源的数目多很多,这是 js 调取:
    https://api.itswincer.com/hitokoto/v2/get?encode=js
    feelinglucky
        5
    feelinglucky  
       2018-10-18 16:40:47 +08:00
    BOYPT
        6
    BOYPT  
       2018-10-18 16:43:20 +08:00
    直接 js 里面 jsonp 调用就好了啊
    XuJianHua
        7
    XuJianHua  
       2018-10-18 21:35:20 +08:00 via iPhone
    有一些主题已经实现的了
    czhy6618
        8
    czhy6618  
       2018-10-18 22:47:08 +08:00 via Android
    tanguan.net 评论栏一言集成了
    a570295535
        9
    a570295535  
       2018-10-19 20:17:38 +08:00
    @coffeemayor 万一请求的 api 故障,这样也不会卡住

    <script type="text/javascript" src="https://lib.baomitu.com/jquery/1.8.3/jquery.min.js" ></script>

    <div id="hitokoto"></div>

    <script>
    function hitokoto() {
    $.ajax({
    url: 'https://v1.hitokoto.cn/?c=a&encode=text',
    type: 'get',
    beforeSend: function(xhr) {
    $('#hitokoto').html('『少女祈祷中...』');
    },
    success: function(data) {
    $('#hitokoto').html('『' + data + '』');
    },
    error: function(xhr, textStatus, errorThrown) {
    $('#hitokoto').html('『跌倒不可怕,可怕的是你一直在地上吃屎不起来!』');
    }
    });
    }
    hitokoto();</script>
    a632079
        10
    a632079  
       2018-10-20 16:39:01 +08:00
    @yuluofanchen 纠正一下, 是 1746 个。这方面信息可以在 hitokoto.cn/status 查询。数量少,主要还是分类的问题。 继承 us 之后发现很多句子不合规或过长以至于我们移除了许多句子。 新句子添加也碰到这样的问题, 导致挤压了很多句子。 目前主要精力还是在利用课余时间完成 v2 的设计。

    @coffeemayor 相比 php 直接请求, 确实更推荐使用 js 异步获取。 在国内的请求会统一解析到腾讯云 CDN 并随机分配到 5 个已有节点进行处理, 支持故障转移。有很多人是使用 php 主机的, 这些主机通常是位于国外的。 虽然我们在暑期部署 1 个亚太节点,1 个美国节点, 并使用 cf 分发, 但是免费 cf 不支持故障转移(大概吧?), 所以需要承担一些因故障而服务中断的风险。
    P.S 接口会自动根据地区返回国内接口或国际接口, 这方面出问题, 由 DNSPOD 背。
    lhx2008
        11
    lhx2008  
       2018-10-20 20:47:58 +08:00
    没有人来说下我的接口吗,哈哈

    https://www.jinrishici.com 带前端 SDK
    https://gushi.ci 旧版
    coffeemayor
        12
    coffeemayor  
    OP
       2018-10-22 16:09:03 +08:00
    @a632079 谢谢 大佬
    coffeemayor
        13
    coffeemayor  
    OP
       2018-10-22 16:09:58 +08:00
    @lhx2008 厉害了~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3250 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:00 · PVG 21:00 · LAX 05:00 · JFK 08:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.