自己写了个API——(伪)一言API

一言是个好东西,但是几天前官方网站的SSL证书过期了2~3天都没有更换,所以下定决心自己写一个API,放在自己的服务器上。

本项目已上传至Github

这个项目的源码我竟然写了半小时……真的不得不佩服我的PHP水平……

代码很好写,但是内容就不知道咋办了……只能借用一些大佬的源文件……以后会写MySQL之后写一个添加页。

使用说明

使用GET

id

https://api.jimmyho.top/hitokoto/?id=1234

没有id输出随机,用id的时候超出范围会输出随机。

encode

https://api.jimmyho.top/hitokoto/?encode=javascript

仅当encodejavascript时输出js函数定义,否则输出纯文本,可以使用如下代码调用:

第一句放在<body></body>之间:

<script type="text/javascript" src="https://api.jimmyho.top/hitokoto/?encode=javascript"></script>

第二句放在输出一言的地方

<script>jimmyhitokoto()</script>

PHP源码

<?php
define('IN_HITOKOTO', TRUE);
//Authorized with GPL v3, Powered by Jimmy Ho.
header('Content-Type: text/html; charset=UTF-8');
//开启跨域Ajax支持
header('Access-Control-Allow-Origin:*');
//初始化资源文件
$array = file('./content.php');
//参数传递
$encode = $_GET['encode'];
$id = $_GET['id'];
//一言开始行数
$id_min = 1;
//一言结束行数
$id_max = 3388;
//随机 - 判断数字
if (!$id == NULL && is_numeric($id))
{
  //判断大小
  if ($id >= $id_min && $id <= $id_max)
  {
    $number = $id;
  }
  else
  {
    $number = rand($id_min,$id_max);
  }
}
else
{
  $number = rand($id_min,$id_max);
}
$string = $array[$number];
//判断输出类型
if ($encode == 'javascript')
{
  echo 'function jimmyhitokoto(){document.write("';
  echo trim($string);
  echo '");}';
}
else
{
  echo trim($string);
}
?>

感谢大佬(们)

Kokororin

一言API官网

发表新评论