梦殇国际
标题:
使用PHP玩耍一言API
[打印本页]
作者:
幻梦
时间:
2015-7-6 12:31
标题:
使用PHP玩耍一言API
什么是一言API呢?
简单来说,
一言(ヒトコト)
指的是就是一句话,可以是动漫中的台词,可以是小说中的语句,也可以是网络上的各种小段子。
或是感动,或是开心,又或是单纯的回忆,来到这里,留下你所喜欢的那一句句话,与大家分享,这就是
一言
存在的目的。——摘自一言官网的描述
那么幻梦为什么要改这段代码呢?
闲的无聊,正好想玩玩PHP
幻梦对这个源码改造成什么样了呢?
添加各种注释,并添加了各种GET方式的if,判断value参数为什么的时候输出什么。
那么下面发出代码:
<?php
//Code by 幻梦
//不是很会PHP,所以代码很渣,只会照葫芦画瓢,你得知道这个代码我也是改的
//所以不喜勿喷
//博客:http://www.ihuanmeng.com/
//一言API官网:http://hitokoto.us/api.html
$url = 'http://api.hitokoto.us/rand'; //定义CURL要抓取的URL
$ch = curl_init(); //初始化CURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
//curl_setopt函数是php中一个重要的函数,它可以模仿用户的一些行为,如模仿用户登录,注册等等一些用户可操作的行为哦。curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。——摘自PHP100
$json = curl_exec($ch); //JSON定值
curl_close($ch);
$array = json_decode($json, true); // array参数定值
$hitokoto = $array[hitokoto]; //取hitokoto值
$id = $array[id]; //取这一句话的id值
$cat = $array[cat]; //取分类代码
$author = $array[author]; //取投稿人
$source = $array[source]; //取出处
$like = $array[like]; //取喜欢的人数
$date = $array[date]; //取投稿日期
if ($_GET['value'] == 'id') {
header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
echo $id ;
die;
} //如果value参数为id则输出变量名为id的值
if ($_GET['value'] == 'cat') {
header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
echo $cat ;
die;
} //如果value参数为cat则输出变量名为cat的值
//既然cat是分类代码,这里应该给大家科普下一言的分类代码所代表的意思:
//a - Anime - 动画
//b - Comic - 漫画
//c - Game - 游戏
//d - Novel - 小说
//e - 原创
//f - 来自网络
//g - 其他
if ($_GET['value'] == 'hitokoto') {
header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
echo $hitokoto ;
die;
} //如果value参数为hitokoto则输出变量名为hitokoto的值
if ($_GET['value'] == 'author') {
header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
echo $author ;
die;
} //如果value参数为author则输出变量名为author的值
if ($_GET['value'] == 'source') {
header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
echo $source ;
die;
} //如果value参数为source则输出变量名为source的值
if ($_GET['value'] == 'like') {
header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
echo $like ;
die;
} //如果value参数为like则输出变量名为like的值
if ($_GET['value'] == 'date') {
header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
echo $date ;
die;
} //如果value参数为date则输出变量名为date的值
else {
header('Content-Type:text/html;charset=utf-8');
echo '{document.write("' . $hitokoto . '");}';
die;
}//如果不在URL中确定输出值,则默认输出JavaScript语法的hitokoto值
?>
复制代码
具体会输出什么?自己运行去吧!23333
建议大家直接到我的博客查看原文:
http://www.ihuanmeng.com/1607.shtml
作者:
9号好人啊
时间:
2015-7-6 12:52
没有学习编程
作者:
伞
时间:
2015-7-6 12:56
看不懂
欢迎光临 梦殇国际 (https://714.hk/)
Powered by Discuz! X3.4