Typecho 调取一言 API 方案

2018-10-18 14:07:01 +08:00
 coffeemayor
找到自己主题中的 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(); ?>

就是如此简单,感谢 [王叨叨] 制作分享。
3354 次点击
所在节点    分享创造
13 条回复
fcten
2018-10-18 14:58:00 +08:00
为什么不用 js 获取?

你这样做,万一请求的 api 故障,你的网站也会卡住
coffeemayor
2018-10-18 15:42:41 +08:00
@fcten 大佬分享一下哈~
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
2018-10-18 16:21:35 +08:00
@coffeemayor 借楼分享一下我的一言 API,比 cn 源的数目多很多,这是 js 调取:
https://api.itswincer.com/hitokoto/v2/get?encode=js
feelinglucky
2018-10-18 16:40:47 +08:00
BOYPT
2018-10-18 16:43:20 +08:00
直接 js 里面 jsonp 调用就好了啊
XuJianHua
2018-10-18 21:35:20 +08:00
有一些主题已经实现的了
czhy6618
2018-10-18 22:47:08 +08:00
tanguan.net 评论栏一言集成了
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
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
2018-10-20 20:47:58 +08:00
没有人来说下我的接口吗,哈哈

https://www.jinrishici.com 带前端 SDK
https://gushi.ci 旧版
coffeemayor
2018-10-22 16:09:03 +08:00
@a632079 谢谢 大佬
coffeemayor
2018-10-22 16:09:58 +08:00
@lhx2008 厉害了~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/498775

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX