什么是 api? api 就是 程序之间约定好的一种调用方式。 api 全称是 application programming interface, 翻译过来就是应用程序编程接口,听起来很专业,对吧?咱们举个餐厅点餐的例子, 想象一下,你去餐厅吃饭,你坐在座位上,服务员走过来给你一份菜单,菜单上写着各种菜品和价格,你看了菜单,点了一个宫保鸡丁,服务员记下来,然后去后厨告诉厨师,过了一会儿, 服务员把做好的宫保鸡丁端给你,在这个过程中,你就是使用 api 的 程序,服务员就是 api, 菜单就是 api 的 使用说明文档,告诉你有哪些功能可以用。后厨就是提供服务的系统,你不需要知道后厨是怎么做菜的, 你只需要按照菜单点菜,服务员就会帮你把菜端过来,这就是 a p i 的 作用,它让你不需要知道系统内部是怎么工作的,只需要按照规定的格式提出请求,就能得到你想要的结果。在技术世界里, a p i 就是 两个软件系统之间沟通的桥梁。比如说 你开发了一个手机 app, 想要显示天气信息,但是你的 app 里并没有天气数据,怎么办呢?你可以调用天气服务的 api, 你 只需要向天气服务的 api 发送一个请求,比如告诉我北京今天的天气, api 就 会返回给你温度、湿度、天气状况这些数据,你的 app 拿到这些数据就可以显示给用户看了。你不需要知道天气服务是怎么收集数据的,是用了多少个气象站,用了什么算法哟? 你只需要知道怎么调用 api 就 能得到天气数据。 api 的 存在就是为了把内部实现和外部使用彻底隔离开,你只需要按照约定来调用,我内部怎么实现,改多少次都和你没关系。 那 api 都约定了哪些东西?第一,接口地址,也就是你往哪儿发请求?第二,请求方式,比如 get postput, delete。 第三,请求参数,参数放在 url 里,请求体里还是请求头里?第四,返回格式,比如返回 json 还是其他结构?第五,错误,怎么返回?比如状态码错误码错误信息。这五点构成了一个完整的 api 约定。 那 api 只能是通过 http 协议的形式交互吗?不是,只要是约定好的程序调用方式,都可以叫 api。 api 有 很多种类型,从业务角度出发,最常见的有 web api, 这是最常见的类型,通过互联网访问的远程服务 操作系统 api, 如 windows 的 win 三十二 api 或安卓的 api 软件,通过它们来调用摄像头读取文件或管理内存。 库框架 api, 当你引入一个 java 库或 python 包,如 nappa 时,你调用的那些函数接口就是库 api。 ai agent api 是 二零二六新趋势 m c p model context protocol, 这是二零二六年非常火的一类接口,专门为 ai 智能体设计,让 ai 能直接读取你的本地文件、数据库或工具,实现 agents 到 api 的 自主交互。接下来讲一个非常重要但很多人没想清楚的点, api 不 等于功能,功能是你系统内部真正干的事情。 api 只是把这个功能暴露出来的方式,同一个功能可以有多个 api 也可以对不同人暴露不同的 api。 所以在设计系统时,真正难的不是功能怎么写,而是 api 怎么设计好的 api 应该做到以下三点, 一是语义清晰,看名字就知道干什么。二是稳定,不能随便改。三是对调用方友好,错误可预期,返回一致。为什么 api 这么重要呢?主要有三个原因。第一,提高效率。你不用重复造轮子。如果每个公司都要自己开发地图、支付、天气这些功能,那得花多少时间和人力呀? 有了 a p i, 你 直接调用别人的服务就行了,专注于自己的核心业务。第二,降低开发成本。开发一个完整的系统需要很多功能,如果每个功能都要自己开发,成本会非常高,但通过 a p i 调用现成的服务,成本就大大降低了。 第三,促进创新。 a p i 让不同公司的服务可以组合在一起,创造出新的产品。比如一个外卖 app, 可能同时调用了地图 a p i 支付 a p i 短信 a p i 天气 a p i 等等,组合起来就是一个完整的外卖服务。 总结,简单总结一下, api 就是 两个系统之间沟通的桥梁,你不需要知道对方系统内部是怎么工作的,你只需要按照规定的格式发送请求,就能得到结果。 api 让开发更高效,成本更低,还能促进创新。好现在你应该明白什么是 api 了, 它通过标准化的输入和输出,让不同的软件能够像搭积木一样组合在一起,它极大地降低了开发成本。 a p i 就 像是互联网世界的通用语言,让不同的系统可以互相协助,共同创造出更强大的功能。好了,本期的分享就到这里,如果有疑问或者有想了解的技术可以在评论区留言,我们下期见!
粉丝1098获赞4798

呃,什么时候需要用到扣子的 api 呢?假如说我们有自己开发的程序,比如说我,我这边开发了有一个网站的客服系统,有一个浏览器插件, 那在这个里面,如果我像接入扣子的这个智能体啊,实现智能回复呢?那我们就需要用到扣子的 api, 我们的浏览器插件,或者我们的这个网站客服系统去调用扣子的 api 来拿到扣子智能体的一个智能回复的结果,然后我们的自己的程序再进行处理,比如说给用户发过去啊, 或者是模拟发送啊等等。那这个时候呢,就需要了解扣子的 api 是 如何调用的。 扣子的 api 相对于 openi 的 api 是 非常麻烦的,我们先看一下文档,然后扣子的 api 里面呢,有一个概念叫做绘画啊,必须先创建一个绘画, 创建完绘画以后会拿到一个绘画的 id 啊,拿着这个绘画 id, 我 们还需要再去发起一次对话 啊,注意这个概念一定要先创建一个绘画,拿到绘画 id, 拿着绘画 id 去发起一次对话。那发起完对话以后呢,还要再去轮询接口啊,看这里啊,看这文档,这里看这里。 哎,如果是非流式响应,看这这边的解释,非流式响应, 那么需要调用发起对话接口以后呢?定期轮询对话详情接口啊,每隔一秒轮询一次,直到这个绘画的状态变成了一个完成, 那这一步就能拿到结果吗?也不是,等到这个结果变成了完成以后,还要再调用一个查看对话消息详情的接口,才能拿到最终的结果。我们总结一下啊,他这四次调用,第一个看这里, 先创建一个绘画啊,调一个接口,然后拿到一个绘画 id, 第二个发起一次对话,拿着我们的这个绘画 id 去发起对话啊。这地方是这样的, 需要在这个 get 参数里,带着我们的,带着我们的这个绘画 id, 拿着绘画 id 去发起对话,那么它会返回一个 check id 是 一个对话 id, 那 拿着这个绘画 id 和对话 id, 我 们需要轮询它的一个状态接口,轮询当前这个对话的状态接口,直到这个状态变成了完成, 那我们再要去调用啊,这个消息列表的这个接口,也就是它所谓的叫查看对话消息详情的接口,才能拿到最终的结果,把它拼接起来返回 啊。这是扣子的 api 使用中啊,这是非流式响应下需要调用的四个接口, 那如果是 open i 的 接口,那你一个接口就完成了啊,包括 open i 兼容格式的一些接口,比如说 fast gpt, 它也是掉一次接口,发一个请求过去就完成了, 那扣子是完全不一样啊,扣子非常麻烦,它需要掉四次接口,而且还还需要重重点注意一下, 如果想要扣子能识别到上下文消息,比如说用户前一句问的问题,他第二次再呃进行对话的时候呢?大模型能知道,那我们就需我们需要把这个绘画 id 给存下来的 啊,也就是说第一次创建完绘画以后,返回了绘画 id, 我 们需要把这个绘画 id 存下来,那等到下次再发起的时候,带着上一次的绘画 id, 那 才他才能够知道他的上线文消息。 那也就意味着我们开发程序的时候,不管是我的浏览器插件开发程序,还是我的客服系统,网站客服系统开发程序 啊,处理这里一步是会把这个绘画 id 和我们自己的一个会员访客 id, 比如说我们网站的客服系统是访客 id 和它的绘画 id 有 一个对应关系,需要存到数据库里。 如果是我们的浏览器插件呢?我们是因为是自动化的一个工具,拿不到唯一 id, 只能拿到昵称。那比如说发起 啊,直播时候用户发送的那条弹幕,我们只能拿到他的昵称,那我们就拿着昵称和他的绘画 id 进行一个对应关系,把它存到我们的呃,本地。比如我,比如说我这个浏览器插件是存到了 cookie 里了,那下次来了拿着昵称 啊一一找,找到对应的绘画 id 了,那这个创建绘画就不要用了,那直接发起一次对话,拿着我们的上一次的绘画 id 来啊,这样才能够记得它的上下文历史消息 啊。这这这这一步是很重要的啊,再再重复一遍吧。扣字 api 调用非流式响应下的接口啊, 有需要调用四次接口,第一个创建绘画,创建为绘画以后返回绘画 id, 第二个发起对话,发起对话需要拿着这个绘画 id 啊才能发起,发起完了是拿到一个对话 id 啊,然后第三个轮询接口,这个轮询接口需要拿着会话 id 和对话 id, 他 俩一块轮询,轮询的结果如果是完成,那么就是相当于是他的对话已经完成了,然后再调一个拿去拿呃消息结果的一个接口, 才能拿到最终的结果。而且呢,如果想要知道他,想要让扣子那边能知道他的上下文消息呢?需要把这个绘画 id 存下来的,就是也就意味着比如说我们浏览器插件需要把用户的昵称和他的绘画和他的这个绘画 id 一 块存到 cookie 里 了,然后我们网站客服系统呢,是拿着访客的 id 和他的这个绘画 id 存到数据库里的, 那下次如果再发起对话的时候,需要拿着上一次存下来的绘画 id 去发起,否则的话它相当于是两次绘画,两次绘画是没办法知道它的上下文消息的 啊,这个是非常麻烦的一个点,比如说我这个扣子这里,在这里处理了一下,看这里,哎,创建绘画的时候呢,先从 cookie 里拿,如果 cookie 里已经有了,说明我们当前这个用户,当前这个, 呃,评论的这个用户呢?已经创建完创建过绘画了啊?创建过绘画我们就拿着他上一次的绘画 id 直接用,否则的话他是不知道上一次问的问题的啊,这是一个一个一个麻烦点。

上一个视频我跟大家讲了什么是 api 支付接口,很多老板问我,选好接口之后到底怎么落地? 今天呢,我就用实操流程给你讲明白。第一步,确定支付方式,根据你的生意场景,选微信、支付宝、银联这些主流渠道,适合你业务的才最稳定。第二步, 注册商户并完成认证,准备好营业执照、法人资料,正规入网,实名认证,这是通道稳定的基础。第三步,配置测试,上线 技术,对接好参数,先做测,先做测试,支付流程没有问题了,再正式上线。使用 这个整个流程,走完你的小程序 app 官网就能实现支付,客户体验好,你对账也清晰, 资金更安全。如果你做平台小程序 app, 想对接稳定合规的 api 支付接口呢?可以直接找我,我帮你一站式对接好,点赞关注哦!

一天一个网安知识点,今天学习的是信息泄露漏洞,本视频仅为安全技术教学,所有操作均在合法把场环境完成,严禁用于任何非法攻击,违者后果自负。今天咱们依旧聚焦高价值漏洞 api 接口造成的信息泄露。那在上一节课中呢,咱们聚焦了电商类的高价值漏洞,就是这个优惠券叠加使用。 今天呢,咱们瞄准一个在实战中危害极大且倍数 s r c 平台关注的高价值漏洞。什么呢?信息泄露,当然今天的这个信息泄露呢,是由于这个 api 接口造成的信息泄露。好,咱们先来看一看呢,咱们整个思路 就是,由于后端的这个 api 没有做权限校验,且同时访问它的地址,又能够直接在 g s 文件当中找到它的接口, 那么攻击者一旦发现了这些暴露的接口呢,就能绕过所有的验证环节,直接窃取大量用户敏感数据。首先大家来看一下中华人民共和国网络安全法第二十七条,大家不要做未授权的深度测试行为,这是违法的行为。本科的内容仅用于以防御为目的的教学演示,请勿用于其他用途,否则后果自负。接下来呢,咱们看一看今天用到的实操环境, 一个安装了幻影插件的浏览器,还有一个就是本地搭建的一个测试靶场,那么这个测试靶场呢,就是这个样子的,光秃秃的,什么都没有好,那么咱们今天的这个实验场景啊,就是这个思路是这样的,咱们在 gs 文件里面发现了这个 接口地址,就是 a p i 接口,然后我们通过这个泄露的 a p i 接口呢,就能够直接获取到用户的敏感信息,所以今天咱们的主线任务是啥呀?三个字,找接口。好,那么废话不多说,咱们直接开干,直接进入到巴掌里面,今天咱们不用到这个 barcode, 用到什么工具呢? 有请咱们的主角登场,当当当当,幻影。好,那么大家会觉得这么一个看似啥都没有的网站里面会藏着什么秘密呢?那今天咱们就用幻影啊,把这个网站的底裤给它扒光,来看一看到底是什么样的秘密。好吧, 那首先呢,咱们用到了两个功能,第一个呢是扫描,第二个呢是深度扫描,这两个的区别是什么呢?就是深度扫描,他多两个字,深度。好吧,那这个有什么区别?其实 用了才知道吗?对吧?好不好用,用了才知道吗?对吧?这就是所谓的实践出真知,所以咱们学计算机啊,尤其是网,一定要注重实践。 好了,接下来呢,咱们直接开始这个扫描,大家来看一下啊,扫描呢,会扫描出什么东西呢?首先呢,它扫描出一个完整的 url, 那 这个 url 是 不是我们在这个界面上它根本看不到啊?那有没有可能它就是一个漏洞的一个入口呢?有可能的,我们去访问一下嘛,对吧? 但是我猜啊,它就是一张图片,很明显嘛,这后面,对吧,访问一下嘛,好,打不开,那就是没有办法利用这个点,就不管了。紧接着呢,咱们看一下这个绝对路径的 api, 可以 看到和上面这个路径它是不一样的, 那它有什么呢?我们直接拼接访问一下不就知道了吗?提示什么不合法的 action 也就说明它有参数,还有就是 action 这个动作。总而言之呢,它这个整个这个链接啊,它后面是缺少东西的啊,这里也 多加一个。没关系,反正提示都是一样的。 ok, 那 接下来呢,咱们把这个接口呢给它记下来,可以拿一个这个呃,记事本给它记下来,这是一个挖漏洞的习惯啊, 就是记下来啊,那过后呢,咱们再来看这个接口有没有在其他地方出现过,对吧? 好,我们接着往下看,同时呢也有很多 gs 文件,那么这个 gs 文件呢,待会是我们重中之重要分析的东西。 我们先看其他的,比如说用户凭证啊,这个是不是账号和密码,假设你在这里面找到了一个登录口,你是不是就可以用这些账号密码去试一下呢?完全是有可能。好吧,那针对这个账号和密码呢,其实我们也可以复制下来,然后呢把它粘贴到这个记事本中。咦, 这怎么复制不了啊? ok, 你 复制这个好像要点两次哦,大家要记得点两次,点一次就行了吗? 啊?点一次就行了啊,有这个勾就代表他已经复制了。好吧,那刚才出现了一点小插曲,不影响我们继续,这个才是渗透的思维, 所以在渗透和漏洞挖掘当中呢,这个思路是很重要的,比如说你看到可疑的点不是放过他,而是给他拿个小本本记下来,后面呢就有可能用上你上面的这些东西。好吧, 下面看也是没什么了,紧接着呢,咱们看一下这个深度扫描,点击这里深度地归扫描,开始扫描, ok, 正在扫描, 他扫描的东西呢就更多,我们可以对比一下。好吧,来大家来看一下。首先呢, api 这个绝对路径啊,都有, 然后呢这里会多出来这个域名,你针对这个域名是不是可以去访问一下,说不定又是攻击入口呢,对吧?除此之外呢,这里的用户凭证啊,在这里敏感数据也有显示,但是,但是这个深度扫描呢,扫出来了电话号码和邮箱,那这个深度扫描扫出来的东西呢, 肯定是多很多的,所以呢,我们一般用这个深度扫描。好,接下来呢咱们分析一下这个 gs 文件,在 gs 文件里面经常会泄露接口,我们来访问一下。 哎,可以看到有一些乱码。好,我们换个浏览器就好了,这里我使用这个三六零浏览器。好吧,可以看到,可以看到有一些中文的注是,比如说获取单个用户信息啊,是不是接口啊?这下面是不是接口?是啊, 比如说定时调用 api 获取所有用户信息,这个是不是接口啊?肯定是啊,那这个是不是接口呢?这个也是接口啊,只要是这些路径都是接口,我们呢就可以把它拼接在这个域名下面去试一下。关于这个接口,大家是不是好熟悉啊? 没错,是不是就是我们记录在这小本本里面的这个路径啊?那这个小本本路径从哪里来的呢? 从这里是不是有啊?所以我说为什么要用小本本给他记录下来呢?因为后面我们可能会用到,那针对这个路径我们怎么去处理呢? 可以看到就是这个路径呢,他是直接拼接在这个域名后面的,那我们把这个直接拼接在域名后面不就行了吗?一葫芦画瓢啊,大家来看一下这两个是不是一样的?这两个说明都是在前面的基础上面去拼接的。 ok, 那 我们照它的模子来给它也拼接在后面,咱们来看一下能不能获取到单个用户的信息,有没有获取到?有啊, user name, password, 用户名,密码,邮箱,手机号,还有它的一个地址。 那紧接着我们看一下这个参数,这个参数和我们前面讲的这个月全是不是有点像啊?它是一,我们可不可以把它改成二啊?当然可以,是不是能够继续查看到其他用户的 改成三呢?也可以啊,又是另外一个用户啊,那这个参数是不是就可以变内的呀? 一二三四五六七八九十。那这样我们给他一直便利下去,是不是就可以获得全站用户的敏感信息啊?肯定的,那还有个接口呢,这个接口是什么意思呢?获取所有人的 可以从这里看到啊,获取所有用户的信息啊,从这个 x 呢也可以看到,获取所有用户,我们直接复制一下,然后拼接一下去看一下不就晓得了吗?对吧? 访问一下是不是全站用户的信息就已经搞出来了呀?所以咱们这个工具的作用是啥呢?其中之一啊,就是三个字,找接口, 他可以把网站隐藏的接口给你找出来。那这样一来呢,这个看似没有漏洞的网站,我们借助他是不是就找到了一个漏洞的入口呀?好,那么本场实验就已经做完了,接下来我们直接进入到这个总结, 我也就不啰嗦了啊,几句话搞定。本节课呢,主要就是掌握这个 api 接口信息泄露漏洞的挖掘思路,使用到的工具就是这个幻影浏览器插件。咱们主要用到的是这两个功能, 扫描和深度扫描,去发现网站一些隐藏的东西。好,那么本节课就到这里结束了,咱们下一节课就学另外一种漏洞类型,也是经典的漏洞叉 s s 之存储型叉 s。

哈喽,大家好,我是冰酱,今天来教大家怎么样在 ipad fox 里面添加呃接口的健全。首先呢我们发现我们调一个接口的时候,如果你没登录的话,它就会报四零一 未认证的这个错误的,然后呢需要登录接口以后,然后接口会返回一个 token 值,然后我们需要用这个 token 值去认证,然后这时候我们应该怎么干呢?首先我们要 呃这里有 office 认证方式,然后我们在登录接口这里添加一个后置操作,然后后置操作把这个透肯当成变量提取出来。首先我们要先这里选择变量类型,环境变量就是在这个环境里面生效,选举变量就选举都生效, 然后模块变量的话就是在这个模块里面生效,然后呃 模块变量,其实我们在左边会看到一个默认模块,就是在这个模块才会生效,然后临时变量就是只有一次,然后过了一次之后就会失效。我们先选这个环境变量,然后大家也如果怕环境 有冲突的话,也可以选择全句变量,然后这里我们提取这个 token 的 值,就是在这里我们然后选择一下提取这一层 pass, 然后点确定, 然后这个时候呢我们这个变量就提取好了。呃,然后我们再回到那个查询医生的接口,然后这个变量我们应该已经提取好了,然后 我们再回到这个查询医生的接口,然后这里选择这个 beer token, 其实大家会根据可以自行选择自己的认证方式,我这里是 beer token 的 认证方式, 然后这个 tool 我 们去选一下,选一下我们刚刚的那个变量,然后选择这个 tool, 然后插入,插入完以后呢我们再点一下发送,哎,我们发现它的键圈就通过了, 他就,嗯,不会再报那个健全的错误了,这也是接口测试中很重要的一个添加健全的方式,然后如果有一些健全他写在头里的要怎么弄呢?然后这也下一期视频跟大家说一下。

这一期我们主要讲一下这个 fast 的 api 创造的 api 接口,这个 api 的 接口有哪些类型?常见的一般就只有五种,是哪五种呢?有 get, post, put, patch, 还有 delete, 还有两种不太常见的可以做一个了解。一个是 options, 还有一个是 head, 这里我创造了一个文件来专门演示一下。我们先来看第一个 get 接口,这个接口的作用是访问这个路径里面的信息, 然后将里面的数据取回来。 post 接口是向这个路径里面发送数据。 port 接口是修改这个数据里面的内容, 对整个数据进行更新。 patch 接口,它的作用是对这个路径里面的数据进行部分更改。 foot 是 全部更改, patch 是 部分更改。 delete 接口显而易见 就是对这个路径中的数据进行删除。还有一个 options 接口,它的作用是查看一下这个接口还有哪些请求方式。 get 接口和 get 接口类似,只是它只发出请求,但是不返回具体的数据。

api 接口是什么?又有什么用?它其实藏在我们工作和生活的每一处,默默帮我们省时间、提效率。不用觉得 api 接口是高深技术,它其实是软件系统之间的隐形沟通桥梁, 也是代理 ip 发挥作用的重要支撑。简单说, api 接口就是不同软件系统之间的沟通,不用人工反复操作, 配代理 ip 使用效率翻倍。 a p i 接口的核心作用就是实现不同系统的联动搭配,代理 ip 使用时能更高效完成运营工作。比如跨行运营中,通过 a p i 接口可以实现订单、 库存数据自动同步,再结合代理 ip 的 稳定网络,无需人工手动录入,大幅节省时间。 它无需复杂操作,就能让代理 ip 与运营工具无缝衔接,实现数据实时同步,不管是批量处理运营任务,还是同步各类业务数据,都能快速完成。不同于单一的工具功能, ipi 接口能让代理 ip 的 网络优势充分发挥, 实现自动化运营,减少人工干预,既保证了网络环境的稳定性,又提升了工作效率,是结合代理 ip 使用提升运营便捷度的关键工具,也是日常工作中不可或缺的高效助力。

这一次咱们来聊一聊我们程序当中常见的 api request。 好, 那之前呢,我们的程序可以读取这些文件当中的内容,作为它操作的数据, 实际上呢,我们将要了解的这个 api, 它也是为我们的程序提供数据的。好,这是它的一个用处。呃,那这三个字母呢?实际上是 application, programming、 interface 这三个单词的缩写,那么前两个单词呢?就是应用程序,第三个单词 interface 是 接口的意思。 接口,那就肯定是说把两端连接一起,所以呢,实际上说我们使用数据是一个程序,那么提供数据的这个 api, 实际上它就是另外一个程序啊, 所以呢,在这啊,所谓 api 接口,它就是另外一个程序,这个是一个整体啊。好,那在这呢,我还要再介绍一个术语,那就是我们的程序向 api 接口,也就是向另外一个程序 去要数据,这个动作被称之为请求,然后 a p i 接口这另一个程序把数据返回给。呃,我们的这个程序这个动作叫做响应啊,两个单词分别是 request, response。 啊, 那到目前为止这些呢,都是知识点啊,那我们再继续。呃,那它什么样的一个形式呢?我们现在看到,那它就是一个网址的这样一个形式,那其中前边这部分我们把它称之为域名,实际上它代表着某一个网站的服务器, 你说我这个 api 接口向哪一个网站服务器去请求啊?哎,就是前边这段内容,那我们刚才还说另外一个程序,现在我怎么又跳到说网站服务器呢? 实际上我们所谓的另外一个程序是给其他程序,给其他浏览器提供数据的,所以呢,就是给其他程序 提供数据,这个就作为一个服务,所以我们把这个程序叫做服务器,而且通常情况下我们是以一个网站的形式,所以我们把这个所谓 api 接口啊,另外这一个程序称之为服务器,或者说网站服务器啊,好,可能会有一些细微的差别,暂时我们这样去理解没有问题。 那剩下的部分呢?这一部分看似呢,其实有规律,比如说问号,比如说这个按的符,但是呢,这一部分其实是完全由我们服务器端的这个程序,也就是 api 接口程序它去自定义的,那我们在这可能是 y y y, 那 比如说呢,我可能会写一个 user 哎,表示我 可以给你返回呃用户相关的数据,那比如说你可以是 course, 那 我给你返回课程相关的数据啊。问号后边呢?比如说我现在写的是 sex 等于一,然后 and age 等于十八,那可能是说我想查询,或者说我想获取性别是呃男的年龄是十八的这个信息。 但实际上呢,具体的这个接口肯定有具体的一个规范啊,他会有一个接口文档,我们使用接口的话,那肯定是要呃去阅读这个接口文档的啊,然后我们才能根据那个文档的要求去填写这些请求的参数啊。所以在这呢,我们就没有必要去纠结他 来过来,那为了去了解这个 a p i 接口儿,我们在这儿呢,不自己去写啊,我们以这个 github a p i 来去认识 api 接口儿啊。好,那在这儿呢,我们首先要说一下什么是 github? 呃,实际上我们在实际工作中有很多的代码开发者会将自己的这个代码以代码仓库的形式保存到 github 这个网站啊,也就是说它是一个网站,然后很多程序员把自己的代码存储到这个网站上边去存储的一个单位,比如说他写两个项目,那就是两个代码仓库, 那这个代码仓库呢?叫 repository 啊,这么一个单词啊。好,那最好也能够记住,记不住也没关系啊,来,那我们再继续。实际上那你比如说,呃,我们的代码放到这个 github 上边去啊?那为什么要放这个上边去啊?因为,呃,方便我们 这个部署啊,就是放到这个服务器上去运行,这个我不去细说。然后呢,实际上我们如果它这个代码仓库被设置为公有公开的,那就是别人可以看到, 那我们可以看到什么信息呢?比如说他这个代码仓库的名称,以及他这个代码仓库里边保存的这个项目代码主要是干什么的?哎,这个描述信息。然后呢?这个仓库是谁创建的?所有者是谁啊?这个这个代码是属于谁的?然后以及我们要想看这个代码仓库,我们得通过一个浏览器的地址,那这个地址 啊又是什么?以及说那他存储的这个代码是用 python 写的还是用 java 写的啊?或者用 go 写的啊?这个我们也可以看到他的这个编程语言, 以及说呢,当他公开他的代码的时候,因为,呃所有人都能看到,那如果说觉得他写的这个代码对我有用啊,对其他人有用,那我表示赞赏,所以我就可以给他一个小星星啊,我在这加了一个 s 啊,那如果说这个仓库 它具有很多 star, 那 就是说有很多人来对它表示支持啊,给它一朵小红花的那种感觉啊,只不过在这是给它一个小星星,那就代表这个代码仓库很优秀。 哈,是这么个意思啊,好,那回来我们简单说了一下这个 github, 那 么,呃,我们要以 github 它提供的这个 api 接口,我们来去做练习,那我们现在看到的这一长串的 u r l 或者说这个网址,这个就是 a p i 啊,好,那在这呢,呃,我不打算给大家去细解释这个东西啊,因为等我们以后自己去写的时候,呃,才更好地去理解它。就是在这,我们没有必要去呃,刻意的去记它。 好,过来,那刚才那个地址呢,我们可以把它复制一下,直接放到浏览器地址栏这一回车。哎,那我们就可以拿到啊,一些数据信息,那我们现在看到的大部分的这个 json 格式的这个信息就都是 github 这个 api 给我返回的数据啊,一大堆啊。好,那我们继续。刚才呢,我们只是手动地在浏览器地址那直接把这个 api 直接放在那,回车啊,我们就得到数据了。那实际上呢,我们大多数情况下是通过代码的形式使用这个 api 接口啊,或者说向 api 接口发出请求的啊。 好,那接下来呢,我们就演示这个代码的形式啊,要使用代码去请求,我们必须安装这个 requests 模块,注意是 request 后边再加一个 s 啊,这是我们这个 python 一个模块。好,那安装它的命令是 pip install requests, 这样呢就安装成了, 待安装成之后呢,呃,我们就可以接着来写我们的代码了啊,那在这呢,我们首先创建一个文件,它就叫 python 下划线 repost r e p u s 那 没有写全啊,就是刚才那个 repository, 呃,那么一个单词仓库的意思,好,文件名是它,然后呢,我们就直接导入这个 requests 模块儿啊,这个单词它本身就是请求的意思嘛,那我们要想获取数据,当然是要请求啦啊,那接着 我们在这呢写了一个 url 地址,其实就是 a p i 这个接口请求地址,因为它太长了啊,所以在这呢先写第一行,然后第二行呢用加,等于把两个长的字母串拼到一起了啊,是这个意思 啊,如果说你英文比较好的话,我们可以看一下,就是 h t t b s 然后 a p i 点 github 点 com, 然后呢,这部分是域名,后边 search 表示我要查询。然后呢,再后边单词 repository, 那就是仓库,还是一个复数形式啊,然后第二行的这个问号 q q, 一 般来说代表的是 query 啊,是查询的意思,然后等号 language 是 语言啊,再冒号 python, 那 就意思是说我要查询这个 github 上边的仓库,并且仓库里边的这个程序代码是由 python 语言编写的,这就是查询条件了。 加号 sort s o r t 是 排序的意思,冒号 stars, 那 就是按照这个星星数来排序啊,再写一个加号 stars, 冒号大于一万,那就是说这个仓库啊,我要找的是, 呃,首先是 python 语言的呃,代码仓库,并且呢按这个 star 数来排序啊,而且我要找所有 star 数 大于一万的啊,要不然的话,这这个代码仓库会特别多啊,可能会上百万个仓库,而呃,这个它的 star 数大于一万的,这个就少很多了啊,总之呢,这就是一个网址,我们这样去理解它啊。好, 那接下来,哎,我们要写这么一个信息,从数据类型上来说,它是一个字典啊,就是 dick 啊,或者呃 dictionary 啊, 呃,也就是说它是有键值座的,我特意指在这个冒号这个位置啊,那它的 key, 它的键是 accept, 不 管它什么意思啊,虽然它是什么接受的意思。后边呢,是说明啊,它要接收什么样类型的这个数据,我们也不管它啊,就 大致好像它意思是说啊,我要接收版本第三个版本的 jason 格式的这个数据啊,我们就这样去理解就行了啊,总之这是一个字典,实际上它是一个附加信息 headers 啊。好,那接下来这行代码比较关键,我们可以看到 request 点儿 get 啊,那么我们就通过这个 request 这个模块调用它的 get 方法。呃,为什么是 get 呢?其实 get 不 就是获取的意思吗?啊,所以在这是 get, 当然,呃,如果说随着我们深入学习, 也会有其他的这个动词啊,比如说 post, 比如说呃 put, 比如说 delete 啊, page 一 些啊,呃,当然我们在这儿呢,主要的呃,还是 get 和 post 的 比较多。在这儿我们就先认识这个点儿 get 这个方法啊,好,那就是说我用这个模块的 get 方法, 尝试去请求数据,获取数据,向哪儿去请求?把 url 地址作为第一个参数放在这儿了,那这个 url 参数呢?其实呢,说明了说我要向 github 那 个网站去请求数据,然后有一些请求的条件也在这个里边儿啊。这个, 呃,代码的语言是 python, 而且按照它的这个星星数去排序,要求星星数必须大于一万。哎,这个条件也有了啊,但是呢,后边第二个参数 hash 啊,叫请求的头部信息,其实呢就是一些附加的信息,那这个附加信息呢?就是跟这个,呃, api 接口,或者说这个服务器说,呃,我告诉你前面,我告诉你我要什么样的数据,然后呢?在这我还要补充说明,哎,你给我返回的这个数据啊,应该是 jason 格式啊,我才能够处理 好啊,那这个呢,就是一个完整的一个请求了,然后这这个 r 就是 请求之后返回的这个结果,它是响应对象, 首先它是一个对象啊,响应这个单词,那对应的是有请求才有响应嘛?请求 request, 响应 response, 这个是响应,就是我们拿到服务器给我们返回的这个信息了,这个数据了,它本身是一个对象啊。 好,那对象呢?它有一个属性,我们可以打印一下,叫状态码啊,我在这写的是 r 点 status 下划线 code, 这个叫响应状态码,通常情况下就是二百,二百就意味着我请求成功了。哎,我们就这样去理解它啊。 好,呃,那我们先不去看,然后接着往下走,我们说 r 是 一个对象,然后呢? r 啊,它有还有一个属性是 txt, 这个 txt 是 我们真正的想要查询的,想要获取的那个数据。哎,在这个里边,它是一个 jason 字母串,哎,它是 jason 格式,它是字母串,那么我们等号右边调用 r 点 jason, 这个方法是把这个 jason 字母串 转化成字典的形式啊,我们转化成字典的形式等号。左边 response 就是 响应的意思啊,下划线 ticked 啊,表明它是一个字典啊。 好,那我们再继续,我们把真正想要的那个信息拿到了,它是一个字典了啊,好,那在这儿呢。哎,我们先打印一下这个字典,那我们打印看它的结构上来说都有哪些 key。 哎,所以在这儿呢,呃,通过这个 response 下划线 ticked, 点 keys 啊,来获取它。这个键,我们打印一下。好,那在这呢,我们执行这个文件。前边呢,我们打印了一个响应状态码,我说了,一般情况下就是二百啊,二百就表示成功。那如果是四零四 啊,就说明你那个 url 地址写错了,就没找到啊。四零四是没找到的意思,多数情况下是因为你那个 a p i 地址写错了啊。好,那接着我们刚才打这个,说这个字典里边所有的 key, 第一层只有三个,第一个是 total count 啊, total 总数, count 的是计数。哎,总之呢,就是总数的意思啊。好,后边这个单词,呃,其实我们不知道也没有关系啊。这几个单词不知道没有关系,因为不同的接口肯定返回不同的数据啊,这个没必要去记死,只是说这个接口。哦,有这么一个 key, 那 当然,这个 key 呢?呃,前边 i n 是 取反的意思啊,就是反过来不怎么着,然后 complete 是 完成,那么 in complete 是 没有完成 啊,后边这个 results 是 结果的意思,那意思就是说我这个这次请求这个结果,呃,完没完是不是全部的这个结果啊?因为比如说你请求的多,他可能是分次给你的。 好,好,然后第三个 items。 好, 一般来说我们写接口的时候, item 就是 某一项啊,项目,那它加个 s 肯定就意思是说它里边还有一大坨数据,它本身还是一个列表啊,这个是我们真正要获取数据的,所有的核心的都在这个 items 在 这儿了。 啊,那这三项呢?哎,我们可以打印一下啊,比如说,那我再接着在这我直接打印了一个总的仓库数,那我用这个字典访问字典的那个 key 是 方括号里边,呃,用它这个字母串什么 total 下划线 count, 哎,我们就可以得到一个总的仓库数,然后呢,是否是全部啊?那 它如果是处的话,应该是不是全部啊?那不是全部在这呢?给它 not 一下,取个反啊,这个呢? 哎,怎,怎怎么解释呢?举个反就是意思。这个,呃,本来是,是不是不全呀?这么个意思,然后加个 not 呢?就是不是 全的呀?哈哈,有点绕啊,但是这个没关系,也不是太重要。好,总之呢,他反映一下,就说,那你这次查询结果是不是完整的,是不是全部的 这么这么一个真的不重要啊。好,然后再接下来。因为我刚才说了,呃,我们这个响应字典里边,它核心的数据在 items 这,如果我直接打印它的话,数据特别多,所以在这我们只是简单的看一下它到底有多少个,哎,所以呢,我用 l、 e、 n 这个函数把它包裹起来,就求一下它的长度啊。 好,那再继续我们看一下,那在这呢,我们打印出来,哎,根据这个字典的这个键,这个 key 我 们得到啊,总仓库数九百一十三个, 符合条件的啊,那这回是返回了全部的这个内容吗?啊?处啊,全部啊啊,但是呢我们 atms 这,呃有有多少个啊?实际上呢是这个三十个。好在这这个说实话我解释不好这个啊,按理说它处的话应该是九百一十三啊,它这个数据逻辑怎么去理解它? 呃,我没太搞懂,但是呢这个不重要,就是我们就主要知道说啊,接口是一个 url 地址,然后呢我们可以拿到它返回的这个数据啊,因为我写的接口怎么规定这个数据,别人写的接口怎么规定的数据?这个我们没有必要说每一个都去去 死到这个东西啊,我们知道感性上说接口是这么个意思,他给我返回数据,我通过这个 key 拿到相应的数据啊,就可以了。 好,然后呢我们再继续再继续呢,我们看看每一项啊,你刚才不是说有三十项吗?我把每一项拿出来看一下怎么去拿的。哎,你注意啊,我在这还是用这个响应字典 response 下划线摹制,然后呢返回号 items, 因为它有一个 key, 本身 items 就是 一个列表,它里边存了好多个仓库的信息,所以因为它是一个列表,那我在这加一个返回号零,就是拿第一个元素 啊,第一个仓库的信息,然后呢就给我们这个 response r e p u s 下回键 add 啊啊,一个简写形式,那我看一下每一个仓库它有有多少个 key 啊,有多少项啊,所以我在这呢, 呃,用 l e n 再看一下啊,那在这呢,我们可以看到哦,每个仓库有八十二个 key 啊,记记信息项啊信息项,那比如说这个仓库的名称,这个仓库的描述,仓库的所有者,创建时间,修改时间等等等等啊,有八十二个 key 啊,是,是这个样子啊,当然我们肯定,呃,不是说全要它,那我们对哪些感兴趣我们就要哪些呗。啊,那在这我们简单说一下,比如说它这个里边有仓库的名称,用的是啊 r e p u s 这个单个库的啊字典啊,然后方括号内幕,那就拿到了这个名称, 然后呢,我们还可以通过这个 owner, 那 这个 owner 呢?是所有者的意思,但是这个所有者肯定还是一个,呃,一个字典的一个姓氏啊,一个这个 owner, 比如说他的头像啊,他的登录名称啊,啊,他的邮箱啊等等等等,所以在这儿呢, owner 下边再加一个方括号, owner 本身就是一个字典,然后它的 log in 啊,这儿呢是它登录的那个账号名称哎,是是这么个意思啊,好,然后这个仓库有多少人给了小星星啊,是这个 key 啊,这个这个键, 这个呢,我是完全从书上摘抄下来的啊。呃,那这个这个单词我不会念,前面是 s t a r 星星的意思哈,后边 com 的是统计,但是加了一个 g a z e r s 我 就不知道了哈,总之它表示的是啊,这个仓库有多少人给了小星星, 然后接下来我要想看这个仓库,你得给我一个 url 地址啊,一个网址啊,好,那就在这个单个库字典里边啊,它那个 key 是 html 下划线 url 啊,这样呢,就拿到这个仓库的地址 啊,然后呢,这个仓库什么时候创建的,也是在这个字典里边啊?我们现在所有看到这都是一个单个库的信息,就是一个字典啊,好, 然后它这个字典里边的 key created, 下划线 at 啊,那就是创建时间啊,这个呢,其实我们看多了,这些单词应该是能够记记下来啊,然后这个呢? update 啊,下划线 at, 呃,这个是更新时间,你说我不知道啊,我没记下来,那是因为你才学多长时间啊, 对吧?你后边儿写项目的时候就这些单词就太常见了啊。呃,一些描述信息叫 description 啊, 好,也是这个字典里边了,那我们呢,可以打印看一下。哎,我们看啊,那从这到这啊,它的名称叫 public a b s 所有者啊,那它这个账号也叫 public a b s 啊,然后它的星星数, 呃,四十三万星星数,也就是说有四十三万,个人觉得它这个项目不错哈,给他点了星星啊,相当于给他点了赞,然后仓库地址,你看仓库地址就是一个。 呃,网址嘛,对吧?好,然后创建时间,更新时间,描述信息,哎,这一堆内容啊,好,那回来,实际上呢?呃,这是一个库的信息,那么如果说我们想把这个接口的数据,刚才不是查看它有三十个库呢吗?符合条件呢?哎,那我们可以 foring 去便利一下啊, 那 foring 的 时候我们是用这个 response 下回键 tick, 这是响应的信息字典,然后所有的信息在 items 里边儿啊,那每一个 就是一个这个单个?这个库代码库的字典叫 r e p u s 啊,简写啊,实际就是 repository 啊, 下划线 dick 啊,就是这个,然后下边我再逐个的去打印这个库的信息就可以了。好的,这个打印的结果我就没有给大家去准备啊,这个和无非是把刚才那第一个仓库的信息,然后其他的信息,这不就是一个模板的形式吗?就都显示一下,所以这个就没有必要去看了。 来,这个是我们通过 github api 接口,然后看了一下它返回的数据是什么样子的啊,可以拿到这些信息, 然后我们来第二个文件,我们第二个文件,呃,就是在原文呃,复制一下,然后呢改一下名字,后边加了一个 with you v i s u a l 啊,这这么一个文件啊,这个文件里边我们要拿到数据再给它画个图来,那前边呢?这两行首先导入 requests 模块,然后我们还导入了 plu 点儿 express 这么一个子模块儿啊,把它重命名为起个别名儿 p x, 我 们准备要画画儿哈。好,那接下来还是刚才那个 a b i 地址, a b i 请求地址啊,啊, 然后呢?这个还是一样的附加信息,头部信息啊, headers 啊,头部信息,然后呢,我们一样的是 requests 点 get, 我 要去获取数据哦,然后传的参数 url, 我 向哪儿去请求数据以及查询条件是什么,然后 headers 里边儿是一些附加信息, 在这儿我们只是有了这个附加信息,只是说要求你给我返回什么格式的,实际上,呃,还有一些时候,我们这个 header 里边会加一个叫做呃 令牌的东西啊,就是你有这个令牌你才能够请求数据,我才给你数据,你没有令牌,对不起,我不给你数据啊,还会,那也是常常见的信息啊。好,那紧接着呢,我们得到了这个 r r 响应对象,响应对象,把响应对象调用一下 json, 把真正的数据转化为我们 python 当中的字典形式 啊,然后再继续,这个时候呢,我们拿到了整体的数据,我们应该整理数据才画画啊,所以整理数据我们在这准备了啊,三个空格列表,第一个啊, r e p u s, 也就是 代码仓库的,这后边写的是 links 啊,实际是要保存这个仓库的名称,只不过我希望这个名称呢,能够一点击这个名称进行一个跳转,所以同时它又是一个超链接的形式啊,所以我们在这是给它起的名字叫 links 啊,这是第一个啊,主,其实里边保存的主要保存的是仓库的名称。 然后第二个,我们要收集的信息是这个仓库的星星数啊,都有多少人点赞了?第三个,呃,我们要收集一个信息,就是当我们画这个图,鼠标移上去的时候,一些提示信息,哎,我们就要这三类信息啊,所以是三个列表,然后我们就逐个地去便利响应字典里边的这个 items 啊。然后呢,那就是在这儿 e p o s 下行键,这个是每个仓库啊, 然后我们每个仓库是一个字典,把每个仓库里边的 name 拿出来,把每个仓库里边的呃 url 地址、网址拿出来。好,这两个拿出来干嘛?第三行代码用上边这两个数据啊, 你看在这啊,我用了它的名称,用了它的 url 地址,把它拼接成了一个特殊的这么一个字母串,以 小于号 a 开始啊,后边以 a 大 于号结束。这个实际上叫 html 代码啊,就是网页代码呃,它在网页上显示出来就是一个超链接形式,我们看到的那个名字是 r 下划线 name, 当我们点击这个名字的时候,会跳转到 r 下划线 u r l 这个地址去啊,这是它大体的意思啊。当然,这样拼接成一个字母串之后,我们由 r 下划线 link 来保存啊,就保存了这么一个特殊的字母串啊,然后接下来把这个仓库当中的星星数啊拿到, 再接下来把仓库当中的这个所有者的名称拿到,接下来这两个信息,我也给它拼接成一个特殊的字母串, 一个字母串 r 下划线 o owner 就是 这个仓库的所有者。然后后边这个监控号 b r 斜线大于号,这个实际上是网页里边的回车换行啊,出现这个标记啊,那它前后的内容会出现在两行,所以前边 owner 是 在一行, 然后后边那个 r e s r 下划线呃, description d e s c 在 列第二行啊,是这么个意思啊啊,总之呢,它呢就是拼接成这 r 下划线 harv 啊, 实际上上边儿这七行代码儿,我们主要的是要这三行啊,其他那两行是为了拼接成它的啊,更准确地说,我们就要拼接出这三个变量来,第一个是 link, r 下角线 link 里边儿包含着它的名称以及它的地址。第二个它的 stars, 它的星星数。第三个 r 下角线 hover, 那 就是鼠标放到这个图形上边的时候,它显示了这个信息,然后我们把这三个变量保存到或者说 append 追加到这三个列表里边去,那我们其实后边我们画图肯定是也以这三个列表为基础啊。好, 那画图呢?我们在这呢,首先,哎,先,呃,想这么一个标题啊, github 上边 star 数最多的 python 项目啊,因为我们查询条件里边 api 那 个地址里边有查询条件,我查的就是, 呃, python 项目,而且让它按这个 star 数排序了啊。接下来那横坐标,纵坐标 x 轴,外轴那个标签显示的文字分别是什么啊? x 轴是 repository, 那 就是准备显示一个一个的仓库名称 y 轴 stars, 那 就是说每一个仓库到底有多少个 star 啊? 那在这呢,我们用的是 p x 点 bar, 它的意思是说,呃,画那个条形图啊,或者说叫柱状图, 然后 x 轴 x 轴,我们在这儿给的是啊, r e p u s repose, 下回见 links, 我 说了 links, 本身它是一个超链接,它里边主要显示的内容是仓库的名称,也就是说在 x 轴会显示仓库的名称,但是呢,这个名称我可以用鼠标点击啊, 然后外轴,那它就是这个仓库的这个 star 数啊,到底有多少人点了赞啊,那这个外轴如果其实呢,就是它这个条形图的那个高度啊,你的这个点赞数高,你这条形条形图,这个条就高,是这么个意思。接下来是标题标签,然后这个 啊, hover 下角键 name 啊,等于 hover 下角键 text, 那 就是,呃,每一个条形我鼠标移上去的时候相应的提示信息,这个这个比较简单啊,好,再往下,再往下呢,这个我们整体来说一下啊,呃,这个呢,你知道能设置就可以了,也不需要记住, 我们现在很多代码不需要记住啊,你只需要知道有它,你想起来啊,这可以设置这个,可以设置那个,然后具体怎么代码问 ai 就 可以了啊,在这呢,那就是设置标题的字号, 设置 x 轴那个标签, y 轴那个标签的字号啊,这个代码就这个啊,然后下边呢,这个是设置,我们这个不是条形图吗?啊?或者说要柱状图,这个柱它的颜色是什么啊?第一个参数设设置颜色,第二个是设置这个柱的,呃,透明度 啊,我们之前可以用阿尔法,实际上它在这还有一个单词叫 o b a c i t y 啊,也是表示这个透明度的意思啊,零点六, 也就是说它也有点半透明的意思。最后一行那就是显示出来就可以了啊,那在这呢,我们执行一下,执行一下呢,就会打开浏览器看到这样的这个图了啊,我们可以看到 x 轴是每一个仓库的名称,然后呢,每一个仓库的星星数多,这个条就多啊, 以及我把树标放上去的时候会有相应的这个提示信息啊,那主要是这个作,呃,作者,然后这个描述信息,仓库数以及 star 数啊这些信息啊。好, 那接下来我们就小结一下,小结一下呢,那这节视频呢,我主要是说,首先明确 api 的 用处是什么?用处就是让我们的程序可以获取数据,处理数据。那紧接着呢,我们在这又说了术语两个,一个是请求,一个是响应,以及它们相应的这个单词 request report 啊, 然后再接着那这个 api 它的形式其实呢,就是一个网址的形式啊,我没有具体地去说,因为具体这个 api 的 形式,呃,我们后边有可能会去 学习框架什么的,自己去写这个 api 接口程序,那个时候再说啊。好,然后呢,紧接着我们又手动地去尝试一下,把这个 api 地址复制下来,扔到浏览器地址当中去,然后呢,浏览器也给我们显示出来它响应的这个数据。 不是所有的接口都可以啊,呃,因为,呃,有的接口是允许你 get, 有 的接口是允许你 post 的, 这个不一样,只能是说 get 的 时候可以。 然后,呃,我们又写了两个代码文件,第一个代码文件叫 python, 下行线 repost, 点 p y 在 这个文件当中,呃,我们是获取数据,然后打印了一下,看看这个数据里边到底有什么信息,主要就是了解这个它的接口返回数据的这个结构啊,它是这样一个嵌套结构啊, 当然我们核心的代码肯定是用 requests 这个模块点儿 get 啊,去请求得到的啊。然后呢,我们第二个代码文件叫 python request, 嗯,下划线 with you, 点儿 p y 这个文件里边儿呢,我们是获取数据,也是通过 requests 点儿 get 去获取的,然后整理出来我们想要的数据,把它画了一个图儿啊,这是我们干的事儿啊。好,除了以上的内容,然后在这儿呢,我还有一个补充啊。第七 就是我们的接口还存在一个请求权限和请求频率的问题啊,当然我们这个 github api 接口啊,我们这个练习没有,但大多数实际工作场景的 api 接口都存在这两个内容啊,请求权限和请求频率。 那请求权限,通常情况下是我们首先先登录啊,不管你以什么方式登录啊,你登录之后呢,会得到一个令牌,然后当你得到这个令牌之后,你需要向这个服务器的 api 接口请求的时候,你要带着这个令牌 啊,那服务器那个 api 接口一看,哎,你有这个令牌,令牌也是真的。好,那就把数据给你,是这么个意思啊,好,而且呢,呃,在这这个令牌通常也是 token 啊,这么一个单词,它和我们大模型里边说稍 token 那 个单词是一模一样的,就可以理解为这个 token 是 一个单词,两个意思啊。好,这个是请求权限上边,而我们实际会牵扯到一个令牌的问题啊,然后请求频率,那请求频率呢?通常情况下是说,嗯, 你不能说在一秒之内你,你请求了很多次,这样的服务器也忙,忙不过来啊,所以可能会要求你每个小时或每天最多请求多少次。会有这样的一个限制。你比如说我们现在呃,一些,呃, ai 大 模型的这个请求,尤其是免费的这 请求,他那也叫 api key 吗?那可能就会对你限制一下,比如说一个小时只能请求六十次啊,一天只能请求多少多少次啊, 当然还会有其他的这个限制啊。好,那主要来说请求的频率,请求的权限。好,以上就是我这节视频所分享的全部内容,因为透彻,所以简单,我是讲师井水。呃,这节视频完了呢,我们就已经把这本书的三百三十七页已经完成了。 如果说这个视频你有什么疑问啊,欢迎在评论区给我留言啊,当然我其中有一些表达,如果不准确,你也欢迎啊,可以在评论区留言,咱们讨论啊。那让我们下个视频再见。

什么是 a p i 支付接口? a p i 接口是指支付机构、服务商提供给商户使用的一种程序接口,用于商户在自己的网站、 app 或者小程序的场景当中与支付机构实现数据交互, 商户可以实现在场景当中在线收单,那么用户能够非常方便快捷的进行在线支付,大大的提升了支付的效率和体验感。如果你要申请 a p i 支付接口,建议找正规的服务商申请,更有安全保障。

第三方支付通道对接,搞不定三十秒给你讲清楚,全场景都能用 api 接口吃饭一样简单。第一,按自己业务取支付方式,微信、支付宝、银联等主流方式适合你的业务场景就行。 第二,创建商户跟着提示完成认证。第三,配置支付接口测试没问题,上线使用 api 接口就行,他能在不同的系统里对接客户,有便捷顺畅的支付感受,你的平台运营效率提高,一举两得,是不是超级简单呢?

如果你想把自动开票做进自己的产品里,不要只问有没有开票 a p i 接口,你真正要的是一套能嵌入业务系统的竖店开票流程。 第一,能不能接近你的业务系统,比如 sars、 erp 电商平台、订单系统、支付结算系统。对接时一般先申请 a p p k a p p secret 确认开发测试生产环境的 a p i host, 然后业务系统按统一 jason 报文传、纳税人识别号和 date 开票业务数据。 第二,开票结果能不能闭环?开票接口不是只提交一次请求,同步成功后要能返回发票号码、开票流水号、开票日期。如果是异步模式,通过异步请求标识发起请求,先拿到 request id, 后续通过主动查询或者回调通知拿开票结果。 第三,开完票以后,能不能继续用真正落地的开票接口?还要支持已开发票列表查询、发票明细查询、发票统计查询以及 pdf、 o f d 叉 ml 等版式文件下载。 这样客户下单付款、开票查票、下载,票据才能在你的系统里面完成。所以,选开票接口,别只问能不能自动开票,要看他能不能跑完整个自动开票闭环。如果你正在做系统集成,或者想把书店开票能力接近自己的产品里,首页第二个置顶视频封面找到我,我们深度对接。

社保 api 接口解决的不是录入,而是跨平台搬运数据。很多人资系统里面有员工信息,有薪资数据,有参保信息,但一到社保申报,还要跳到外部的客户端或者局端操作, 每个月人事都要导表上传核对申报,再把结果和凭证下载回来。在这个过程中,存在三个管理问题,第一,数据来回搬,人员工资、参保缴费基数,这些数据如果靠人工导入导出,企业一多,地区一多,就很容易出错。 第二,操作重复,不同地区、不同法人、不同账号来回切换,月度申报、缴款结果查询,每一步都要人盯着跑。第三,结果无法回传到最初的系统,申报成功了没 缴款完事了没?完事,凭证有没有下载,如果都散在外部平台里,系统里就看不到完整的闭环。社保 api 接口解决的就是把这些流程接回到你自己的系统, 通过接口把企业主体、人员信息、参保数据、申报数据传过去,系统自动发起参保申报,阅读申报缴款结果查询,再把完税证明和凭证回传归档,这样人资系统就不只是存数据,而是能真正的帮企业自动跑通社保流程。 如果你做人资系统、新潮系统,或者想把社保自动化能力接近自己的平台首页,第二个置顶视频封面找到我,我们深度对接。

什么是 api 支付接口?简单来说,它是连接你的平台与支付系统的桥梁,通过它平台呢,才能够调动支付系统功能。 api 支付接口开通其实也不难, 那我们有两种途径。第一种呢,就是直接到我们官方平台直接申请 api 接口,但是弊端也比较明显,申请过程也相当麻烦,通过率也很低, 就算通过了,后续考量一不小心就废了。而且对接 app 商城这一些必须要有域名备案、 i c p 许可证才能够实现。第二种呢,就是通过我们官方服务商成为我们的特约商户, 配置开发文档、密钥、回调参数等等,这些服务商等级高的还可以申报可信商户,可以有效减少风控拦截的异常问题。

个税申报自动化最难的不是算工资,而是把人员报送、算税、申报缴款、凭证回传全部打通。很多 hr 系统、薪资系统代账软件,工资表能做,个税也能算一部分。最后还是要登录个税客户端导表核对申报缴款,再把结果拿回来对账。 真正的个税 a p i 接口解决的是三个关键问题,第一,人员信息自动报送。员工入职、离职、任职信息变化可以通过接口同步到税局,避免系统里一套数据,局端又是一套数据。第二,个税自动算准, 工资、薪金、劳务报酬、专项附加扣除、个人养老金等数据都可以参与计算并生成申报数据,减少 excel 手工算税和政策规则变化带来的错误。 第三,申报结果自动回传系统可以通过接口完成申报缴款、查询申报状态、下载完税凭证、哪些人报了、交了多少税、有没有成功,在系统里都能查到。 所以,个税自动化不是工资表导出,而是从人员报送、专项扣除、智能算税、申报缴款到凭证规档的完整闭环。如果你的 hr 系统代账软件灵活,用工平台也想接入个税自动申报能力,首页第二个置顶视频封面找到我,我们深度对接。

程序员找 api 找到崩溃,现在终于有人把全网免费的接口资源全部一次性给整理好了。这个 github 神级仓库已经狂揽四十几万新目标,堪称开发者的免费 api 字典, 里边收入了几千个可以直接调用的免费 a p i, 还细分成五十四个分类,像图片生成、身份验证、云储存、天气数据、金融数据、文档处理这些高频场景基本全能找到。你点开对应分类,就能看到接口说明和调用方法。比如你想做一个金融数据的网站,或者给 ai 项目接天气,这些功能 直接就能拿来用,省掉了大量自己开发接口的时间。现在很多人学 ai 编程,做 agent, 接 open clone 或 code x, 最大的成本其实就是接口费用。当然,有了这个仓库之后,很多功能根本不用再额外花钱买 api。