专栏首页星辰日记这些天,我做了个API

这些天,我做了个API

这些天我做了个API站点

  何为API?简单来说就是别人为你提供一些服务的接口。就像某些软件内部提供天气数据,一般也都是调用的类似中国天气之类的API服务,当然用python等去爬取网页也是可以的啦|´・ω・)ノ   那么,怎么用php去做一个最简单的API接口呢?就以我做的一句话API为例,当我们访问 https://api.xsot.cn/sentence/时他便给我们返回了一个由json格式化后的数组:

{
    "uuid": "82a944fd-8098-4b12-9177-6fd285e4efa8",
    "sentence": "成一事者,是失之不渝的愚者;毁一事者,是停滞不前的贤者。",
    "type": "a",
    "from": "不正经的魔法讲师",
    "from_who": "",
    "created_at": "1557302125"
}

  这是一般API的返回格式-即json,那么如何实现呢?我们来看一个最简单的案例:

<?php 
  $data = array(
  "msg" => "hello world!"
  )
  //返回的数据
  header('Content-type:text/json');
  //json头
  exit(json_encode($data));
  //返回数据
?>

  这样你便完成了一个最简单的API接口,将需要的数据放在一个data数组中,之后将这个数组转化成json,最后将转化后的json返回即可。   当需要调用接口的时候只需要:

$data = file_get_contents("https://api.xsot.cn/sentence/");

  再将他解码下,并调用其中的数据即可

$arr = json_decode($data,true);
$sentece = $arr['sentence'];

  做这个平台的时候遇到的最大的问题可能就是一言的js返回了吧,因为没学过js,对js的同步调用函数不太理解,一开始我是直接使用htmlspecialchars()函数直接将js给echo出来???然后?居然调用的时候出错了,查了半天资料最后才发现没有使用text/js的http报头,我也很是无奈 ̄﹃ ̄   然后在做网易云音乐的时候,因为网易云音乐官方并未提供API接口,只能自己抓包,然而网易云音乐UWP版本在开启Fiddler的时候居然连不上网。在查询微软官方文档之后发现,这可能是UWP的特性?(╯‵□′)╯︵┴─┴因为UWP貌似不能开代理,微软官方也给出了解决方法,但是我并没有尝试。最后的话还是在Github找了半天找到了一些网友给出的接口吧

最后

  最后的话,我的API站点是: 星辰API   欢迎大家调用啊!ヾ(≧∇≦*)ゝ


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 这个寒假我做了这些事(文末送书)

    昨天已经返校了,盘点一下这个寒假自己写的文章吧。这个假期一共写了32篇文章,28篇原创,没开原创的文章都是自己整理的面试题和知识点,没有转载过文章,50天的假期...

    PM小王
  • 这个骚操作,我笑了一整天

    你在命令行窗口输入了一个命令,满怀期待的敲上了回车,结果提示你输入有误,你会不会不由自主的说一句 fuck?那就在命令行输入 fuck 吧,这个工具帮你自动纠正...

    somenzz
  • 我做了一天的实验!

    在前一篇文章我讲了下 MySQL 的全局锁、表记锁和行级别锁,其中行级锁只提了概念,并没有具体说。

    小林coding
  • 半个月拿下offer,只因做了这些

    最近部门招聘,很多工程师,包括我在内都参与了内推和面试的过程,经过这次招聘,我发现能够最终拿到offer的人,基本上在看到简历的那一瞬间就已经定下来了,后续的面...

    java爱好者
  • 我做了这些准备,终于拿到FaceBook的offer

    今天开篇,跃哥想问下大家,你学习编程的时候,最初的梦想是什么?化作更简单的描述就是,你学习编程,最想去的公司是什么?

    程序员小跃
  • 1024这天,我故意写了个死循环

    导致CPU100%的原因很多,而程序中出现死循环就是原因之一。然而,并不是每个人在工作中都有机会踩中这个坑。我就是其中一个没踩过的。人生似乎有些不完整。

    良月柒
  • 1024这天,我故意写了个死循环~

    导致CPU100%的原因很多,而程序中出现死循环就是原因之一。然而,并不是每个人在工作中都有机会踩中这个坑。我就是其中一个没踩过的。人生似乎有些不完整。

    好好学java
  • 1024这天,我故意写了个死循环~

    导致CPU100%的原因很多,而程序中出现死循环就是原因之一。然而,并不是每个人在工作中都有机会踩中这个坑。我就是其中一个没踩过的。人生似乎有些不完整。

    用户5224393
  • 做了N+1个企业项目之后, 我总结了这些React必备插件

    为了提高大家开发 React 项目的效率, 笔者结合自己的实际工作经验, 汇总如下React项目常用插件.

    徐小夕
  • 工作这么多年,今天我对架构做了一个简单思考

    架构,如果让你给它一个定义,恐怕一时不好表达。正如,问你,山,是什么;水,是什么一样。对于程序员来讲犹如游山玩水的侠客,畅游在程序-代码-架构之中。为架构,下一...

    王新栋
  • 爬了CSDN,我发现了这些

    本文涉及到的Python第三方模块,共计五个:分词模块jieba,文字云模块wordcloud,画图模块matplotlib,用来处理背景图片的模块cv2,访问...

    润森
  • 统一定制API返回格式,我只做了这几件事

    转自:blog.csdn.net/qq_34347620/article/details/102239179

    猿天地
  • 天秀! 了解一下GAN都可以做到这些事情

    原文链接:https://machinelearningmastery.com/impressive-applications-of-generative-ad...

    AI算法与图像处理
  • 做开发十年,我总结出了这些开发经验

    在一线做了十年的开发,经历了网易、百度、腾讯研究院、MIG 等几个地方,积累了一些感悟。必然有依然幼稚的地方,就当抛砖引玉, 聊为笑谈。

    康亮
  • 我们在项目中引入网关做了这些事情

    实现路由功能的目的是统一流量入口,为前端屏蔽后端多个微服务的存在,无需为后端每个微服务都通过域名将接口暴露于外网。

    Java艺术
  • 看了《最强大脑》,我决定做这个游戏

    今年年初,新一季的《最强大脑》开播了,第一集选拔的时候大家做了一个数字游戏,名叫《数字华容道》,当时何猷君以二十几秒的成绩夺得该项目的冠军,来看一下当时的比赛:

    王强
  • 神了,Excel的这个操作我今天才知道

    得神人指点我才认识到这个函数,之前突然就记起来,前一段时间(可能是去年)是有Excel神级函数口号漫天宣扬,我以为是大家又认识到了vlookup的好,在吹vlo...

    朱小五
  • 这几天我写了一个DEX交易聚合器

    目前,DeFi 赛道中,专门做 DEX 交易聚合的产品挺多的,以下是其中一些平台:

    Keegan小钢
  • 元旦这一天,很多程序员都做了这10个决定!

    今天是2018第一天,我们又开始了新的一年。在大家都为新年制定目标计划的同时,作为一名程序猿,要想在互联网世界混得风生水起都有哪些要做的?下面小编为你列出了20...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券