梦殇国际

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 刷粉
月光下载 云刷粉软件 云刷粉网页 水贴机电脑版 安卓软件 梦殇导航(教程集合) 有任何问题请点击提问
查看: 815|回复: 2
打印 上一主题 下一主题

[网页] 使用PHP玩耍一言API

[复制链接]

1090

帖子

832

积分

2031

TBS

不定时诈尸

UID
7473
积分
832
TBS
2031
智商
1192
节操
1197
海贝
41
阅读权限
40
在线时间
316 小时
注册时间
2014-3-23
最后登录
2018-6-22
跳转到指定楼层
1
发表于 2015-7-6 12:31:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
什么是一言API呢?
简单来说,一言(ヒトコト)指的是就是一句话,可以是动漫中的台词,可以是小说中的语句,也可以是网络上的各种小段子。
或是感动,或是开心,又或是单纯的回忆,来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。——摘自一言官网的描述
那么幻梦为什么要改这段代码呢?

闲的无聊,正好想玩玩PHP

幻梦对这个源码改造成什么样了呢?

添加各种注释,并添加了各种GET方式的if,判断value参数为什么的时候输出什么。


那么下面发出代码:
  1. <?php
  2. //Code by 幻梦  
  3. //不是很会PHP,所以代码很渣,只会照葫芦画瓢,你得知道这个代码我也是改的
  4. //所以不喜勿喷
  5. //博客:http://www.ihuanmeng.com/
  6. //一言API官网:http://hitokoto.us/api.html

  7. $url = 'http://api.hitokoto.us/rand'; //定义CURL要抓取的URL
  8. $ch = curl_init(); //初始化CURL
  9. curl_setopt($ch, CURLOPT_URL, $url);
  10. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  11. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  12. //curl_setopt函数是php中一个重要的函数,它可以模仿用户的一些行为,如模仿用户登录,注册等等一些用户可操作的行为哦。curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。——摘自PHP100

  13. $json = curl_exec($ch); //JSON定值
  14. curl_close($ch);
  15. $array = json_decode($json, true); // array参数定值
  16. $hitokoto = $array[hitokoto]; //取hitokoto值
  17. $id = $array[id]; //取这一句话的id值
  18. $cat = $array[cat]; //取分类代码
  19. $author = $array[author]; //取投稿人
  20. $source = $array[source]; //取出处
  21. $like = $array[like]; //取喜欢的人数
  22. $date = $array[date]; //取投稿日期

  23. if ($_GET['value'] == 'id') {
  24. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  25.     echo $id ;
  26.     die;
  27. } //如果value参数为id则输出变量名为id的值
  28. if ($_GET['value'] == 'cat') {
  29. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  30.     echo $cat ;
  31.     die;
  32. } //如果value参数为cat则输出变量名为cat的值
  33. //既然cat是分类代码,这里应该给大家科普下一言的分类代码所代表的意思:
  34. //a - Anime - 动画
  35. //b - Comic - 漫画
  36. //c - Game - 游戏
  37. //d - Novel - 小说
  38. //e - 原创
  39. //f - 来自网络
  40. //g - 其他
  41. if ($_GET['value'] == 'hitokoto') {
  42. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  43.     echo $hitokoto ;
  44.     die;
  45. } //如果value参数为hitokoto则输出变量名为hitokoto的值
  46. if ($_GET['value'] == 'author') {
  47. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  48.     echo $author ;
  49.     die;
  50. } //如果value参数为author则输出变量名为author的值
  51. if ($_GET['value'] == 'source') {
  52. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  53.     echo $source ;
  54.     die;
  55. } //如果value参数为source则输出变量名为source的值
  56. if ($_GET['value'] == 'like') {
  57. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  58.     echo $like ;
  59.     die;
  60. } //如果value参数为like则输出变量名为like的值
  61. if ($_GET['value'] == 'date') {
  62. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  63.     echo $date ;
  64.     die;
  65. } //如果value参数为date则输出变量名为date的值
  66. else {
  67.     header('Content-Type:text/html;charset=utf-8');
  68.     echo '{document.write("' . $hitokoto . '");}';
  69.     die;
  70. }//如果不在URL中确定输出值,则默认输出JavaScript语法的hitokoto值

  71. ?>
复制代码

具体会输出什么?自己运行去吧!23333


建议大家直接到我的博客查看原文:http://www.ihuanmeng.com/1607.shtml

Success Or Failed
回复

使用道具 举报

7万

帖子

9697

积分

3080

TBS

你是我的

UID
3993
积分
9697
TBS
3080
智商
44404
节操
39040
海贝
843
阅读权限
80
在线时间
1239 小时
注册时间
2014-2-3
最后登录
2021-3-12

在线时间长签到达人

2
发表于 2015-7-6 12:52:49 | 只看该作者
没有学习编程
我没有争夺的心因为我差劲
回复 支持 反对

使用道具 举报

7718

帖子

3864

积分

1627

TBS

Don't fuck with my love

UID
48156
积分
3864
TBS
1627
智商
8248
节操
7569
海贝
131
阅读权限
60
在线时间
1034 小时
注册时间
2015-4-6
最后登录
2020-12-25

在线时间长

3
发表于 2015-7-6 12:56:30 | 只看该作者
看不懂
Don't fuck with my love
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-3 05:04,Processed in 0.032548 second(s), 22 queries.

Powered by Discuz!X3.4© 2001-2013 Comsenz Inc. 手机版|黑名单|站点地图|RGB转16进制|梦殇国际 MSI

贴吧交流群:172119290 | 编程交流群:232677917 | 官方YY频道:13234704 | 本站所有软件仅供学习交流使用!

工信部备案:赣ICP备14004172号-1 | 如有需要请联系 邮箱:541641237#qq.com (点击发邮件)

快速回复 返回顶部 返回列表