Apsara Clouder专项技能认证:实现调用API接口
一.API 简介
1.API 的概念
API(Application Programming Interface应用程序编程接口)是一些预定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码或理解内部工作机制的细节
2.API 的特点
- API 是一个明确定义的接口,可以为其他软件提供特定服务
- API可以小道只包含一个单独的函数,亦可以达到包含数以百计的类,方法,全局函数,数据类型,枚举类型和常量
- API的实现可以是私有的,亦可以是开源的
3.API 的分类
- 面向对象语言的 API
- 库与框架的 API
- API 与协议
- API 与设备接口
- Web API
4.使用 api 的原因
- 快速扩展功能
- 避免"造轮子",提高开发效率
- 降低模块之间的耦合度
二.api 的请求与认证
1.web api 协议及 http 请求
1.1 web api 一般采用 http 作为底层协议,http 请求机制如下:
客户端向服务器发送一个请求,服务器给客户端一个响应,告诉客户端是否可以完成它的请求的工作
1.2 http 请求包含的内容
- 客户端:url(api 请求地址),请求方式,headers(请求头),body(请求体)
- headers请求头:提供请求的元信息,是一个简短的项目列表,其中有客户端发送请求的时间和请求主体的大小,身份认证等信息
- body 请求体:包含客户端发送给服务器的数据
2.api 请求方式
- get:请求服务器获取一个资源
- post:请求服务器创建一个资源
- put:请求服务器更新或者编辑一个资源
- delete:请求服务器删除一个资源
3.状态返回码
处理成功返回2xx
- 200 ok-get:服务器成功返回用户请求的数据
- 201 created-post/put/patch:用户创建或修改数据成功
- 202 accepted-* 表示一个请求已经进入后台排队(异步任务)
- 204 no content-delete 用户删除数据成功
服务端错误码5xx
- 500 internal Error :api 网关内部错误,建议重试
- 500 Failed to invoke backend Service:api底层服务错误
- 503 service unavaliable:服务不可用
- 504 async service:后端服务超时
业务报错4xx:一般为参数错误,签名错误,请求方式错误或者流控限制
4.api 数据格式
- json 格式
- 对象-键值对,数组-[]
5.api 身份认证及签名认证
5.1简单身份认证:appcode
使用方法:请求 headers 中添加 Authorization 字段,格式 Authorization:APPCODE+半角空格+appcode 值
5.2签名认证:appkey&appsecret
三.api 调试及调用
1.api 调试
阿里云 api 市场提供在线调试功能
2.api 调用步骤
获取 api 文档--创建应用--获取授权--调用 api
3.调用 api
调用 api 三个基础条件:
- api
- 应用 app
- api 和 app 的权限关系
4.api 调用注意事项
- 每个账号下 APP 的个数上限为10个,app 名称应用为账号下唯一
- 调用 api 的流控限制为,单个 ip,qps 不超过100
- 你有权操作购买的 api 与 app 的授权和解除授权.由服务提供方授权给你的 app 的api,你无权操作解除授权
- 你的请求需要包含签名信息
成果展示

Apsara Clouder专项技能认证:实现调用API接口的更多相关文章
- Apsara Clouder专项技能认证:实现调用API接口 (笔记)
- Apsara Clouder基础技能认证:阿里巴巴编码规范 考试备考题库
考试网址: https://edu.aliyun.com/clouder/exam/intro/33 共50道题 限时90分钟 阿里云大学Apsara Clouder基础技能认证——阿里巴巴编码规范认 ...
- Apsara Clouder云计算技能认证:云数据库管理与数据迁移
一.课程介绍 二.云数据库的简介及使用场景 1.云数据库简介 1.1特点: 用户按存储容量和带宽的需求付费 可移植性 按需扩展 高可用性(HA) 1.2阿里云云数据库 RDS 稳定可靠,可弹性伸缩的在 ...
- C#使用windows服务定时调用api接口
使用VS创建windows服务项目: 创建好项目 会出现一个设计界面 右键弹出对话框 选择添加安装程序 名字什么的自己可以改: 项目目录: 打开项目中的ProjectInstaller.Design ...
- Python调用API接口的几种方式 数据库 脚本
Python调用API接口的几种方式 2018-01-08 gaoeb97nd... 转自 one_day_day... 修改 微信分享: 相信做过自动化运维的同学都用过API接口来完成某些动作.AP ...
- Python调用API接口的几种方式
Python调用API接口的几种方式 相信做过自动化运维的同学都用过API接口来完成某些动作.API是一套成熟系统所必需的接口,可以被其他系统或脚本来调用,这也是自动化运维的必修课. 本文主要介绍py ...
- 调用API接口,查询手机号码归属地(3)
从mysql数据库获取电话号码,查询归属地并插入到数据库 #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib, sys, pym ...
- 调用API接口,查询手机号码归属地(2)
使用pymysql pip install pymysql 创建mysql测试表 CREATE TABLE `userinfo` ( `id` int(20) NOT NULL AUTO_INCREM ...
- 调用API接口,查询手机号码归属地(1)
使用https://www.juhe.cn/提供的接口,查询归属地 在官网注册key即可使用. 代码如下 #!/usr/bin/python # -*- coding: utf-8 -*- impor ...
随机推荐
- JDK8 API离线文档免费下载&JavaEE API文档离线下载&API在线查看链接&常用的JAR包下载
1.JDK8 API离线文档 链接:https://pan.baidu.com/s/1fYc-QesmYRumTEPmnSgEKA 提取码:2bdr 2.JavaEE API文档离线下载 链接:htt ...
- ADO多线程数据库查询
{ADO查询多线程单元} unit ADOThread; interface uses Classes,StdCtrls,ADODB; type TADOThread = class(TThread) ...
- RK3399开发板Android镜像烧写之Windows系统映像烧写
4.1.1 l RKTool 驱动安装(基于迅为iTOP-3399开发板)DriverAssitant_v4.5.zip 文件,打开 驱动安装成功,如下图: 注意事项:1.目前支持的操作系统包括:X ...
- tomcat用户配置
1.tomcat-user.xml 添加以下内容<role rolename="manager-gui"/> <role rolename="manag ...
- vzray上网教程
1.首先按照之前的教程在chrome里安装插件-Proxy-SwitchyOmega-Chromium-2.5.15 2.打开 vzray-v3.11-windows-64,打开 3.在chrome ...
- java线程——线程基础
一,线程之间的关系 线程之间存在两种关系: (1)间接相互制约:相互争夺线程资源: (2)直接相互制约:线程之间的相互合作: 间接相互制约也可以成为互斥,直接相互制约也可以称为同步:同步也包括互斥,互 ...
- 12 Spring Data JPA:orm思想和hibernate以及jpa的概述和jpa的基本操作
spring data jpa day1:orm思想和hibernate以及jpa的概述和jpa的基本操作 day2:springdatajpa的运行原理以及基本操作 day3:多表操作,复杂查询 d ...
- PAT Basic 完美数列(25) [two pointers]
题目 给定⼀个正整数数列,和正整数p,设这个数列中的最⼤值是M,最⼩值是m,如果M <= m * p,则称这个数列是完美数列.现在给定参数p和⼀些正整数,请你从中选择尽可能多的数构成⼀个完美数列 ...
- java图片上传,通过MultipartFile方式,如果后台获取null检查是否缺少步骤
本方法基于springMvc 1.首先需要在webap下创建images 2.在springmvc.xml上引入 <bean id="multipartResolver" c ...
- ccf201403-3 记录一个神tmwa了的代码 莫非我没看懂题。。。
#include <string.h> #include<cstdio> #include<stdio.h> #include <iostream> # ...