【考试记录】Apsara Clouder基础技能认证:实现调用API接口

       从今天开始,准备把阿里的认证尽可能多的考出来。原因有这么几个:研究生要毕业了,除了把论文写好,还有找工作的压力,所以想尽可能多的考出几个证来证明自己的学习能力;研究生毕业后想找个教师的工作,所以得以身作则,多学习知识,这样教学生才能有底气。知道自己现在能力还是不够,但我一直只要一直往前走,一定会收获到自己想要的东西。

好了,现在开始总结阿里的这个"实现调用API接口"。这个是免费的,估计是阿里为了推广她的API,所以估计会一直免费。

阿里云大学Apsara Clouder基础技能认证——实现调用API接口认证考试。由于认证考试特殊性,考试暂不提供错题及答案查看服务,如您希望加深学习,请重新学习课程。
答题开始即开始计时,中途不可暂停,如超时则自动提交
1、考试共 (15) 道选择题,包括单选题和多选题,总分100分;交卷后即可查看成绩
2、考试需在(40分钟)内交卷,过程中无法暂停,请提前安排好时间;如未及时交卷,则本次考试作废
3、同一考试可反复参加,每次会从题库中随机出题
4、开始答题前会进行身份验证,需要您拍摄并上传身份证正面照片,并按照系统要求开启摄像头进行面部识别
5、考试过程中请保持摄像头开启并对准面部,系统会不定时进行抓拍,并与身份证照片做对比, 如发现作弊行为,您的考试成绩将作废
6、考试过程中,系统将判断您的浏览器状态,如发现最小化浏览器、切换标签页、 窗口缩小或扩大等行为,将会给出警告,如果次数过多您的考试成绩将作废。

  • 什么是API?

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
API分类都有哪些?
面向对象语言的API::如Java API列表
库与框架的API:如 Windows API Windows DirectX
API与协议:如LDAP引用程序接口
API与设备接口:PC BIOS调用接口、ASPI for SCSI 设备接口
Web API :如:Google地图API、AWS云API
 

  • 为什么使用API?

快速扩展功能
避免“造轮子”
减低模块之间的耦合度
 API一般采用HTTP作为底层协议、HTTP请求机制如下:
客户端向服务器发送一个请求
 服务端给客户端一个响应、告诉客户端是否可以完成它的请求工作
 

好了,现在开始讲考试题目:(纯干货)

  • HTTP请求包含内容为了构造有效的请求、客户端需要包含四个部分
  1. URL(API调用地址)
  2. 请求方式(POST、GET、PUT、DELETE)
  3. Headers(请求头)
  4. Body(请求主体)
  • API请求方式为四种:
  1. GET:请求服务器获取一个资源
  2. POST:请求服务器创建一个新的资源
  3. PUT:请求服务器编辑或者更新一个已经存在的资源
  4. DELETE:请求服务器删除一个资源
  • 请求返回成功后所包含的内容

  1. 请求头(Headers):提供请求元信息、是一个简单的项目列表、其中有发送请求的时间和请求主体大小。身份认证信息等
  2. 请求体(Body):包含客户端希望发送给服务器的数据
  3. 当成功调用API后,除了返回数据外,还会包含一个状态码,处理成功返回2XX
  •  状态码

2XX 成功

       · 200 OK,表示从客户端发来的请求在服务器端被正确处理

       · 204 No content,表示请求成功,但响应报文不含实体的主体部分

       · 206 Partial Content,进行范围请求

3XX 重定向

       ·301 moved permanently,永久性重定向,表示资源已被分配了新的 URL

       · 302 found,临时性重定向,表示资源临时被分配了新的 URL

       · 303 see other,表示资源存在着另一个 URL,应使用 GET 方法丁香获取资源

       · 304 not modified,表示服务器允许访问资源,但因发生请求未满足条件的情况

      · 307 temporary redirect,临时重定向,和302含义相同

4XX 客户端错误

     · 400 bad request,请求报文存在语法错误

     · 401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息

     · 403 forbidden,表示对请求资源的访问被服务器拒绝

     · 404 not found,表示在服务器上没有找到请求的资源

5XX 服务器错误

     · 500 internal sever error,表示服务器端在执行请求时发生了错误

     · 503 service unavailable,表明服务器暂时处于超负载或正在停机维护,无法处理请求

  • API返回格式一般为JSON,通常是两种格式

      1.表示对象,对象是已键值对的方式:

//键值对类似于Java的map
{ "firstName":"John" , "lastName":"Ben" }

      2.表示数组方式 :

{
"name":"网站",
"num":3,
"sites":[ "Google", "JAVA", "Python" ]
}

一般会考Json的书写格式,尤其是并列的数据是怎么书写的,比如,用“,”隔开,键值对的值如果也是个键值对的话用[ ]而不是 { }。

  • API认证方式一般2种

     1.简单身份认证(APPCODE方式): 可以通过APPCODE方式,实现到被调用接口的身份认证,获取访问相关API的调动权限
      使用方法:Header中添加Authorization字段;

      配置Authorization字段值为"APPCODE+半角空格+APPCODE值"

      格式:Authorization:APPCODE AppCode值

      示例:Authorization:APPCODE 3EFSDGDSHSDFG345FG

     2. API 签名认证(Appkey & AppSecret)

     Appkey 和 AppSecret 相当于当前账户的另一套账户和密码机制,一般用于云api调用如阿里云、AWS

  • api 调用注意事项
  1. 每个账号下 APP 的个数上限为10个,app 名称应用为账号下唯一
  2. 调用 api 的流控限制为,单个 ip,qps 不超过100
  3. 你有权操作购买的 api 与 app 的授权和解除授权.由服务提供方授权给你的 app 的api,你无权操作解除授权
  4. 你的请求需要包含签名信息
  • 调用 api 三个基础条件
  1. API:您即将要调用的API,明确API参数定义
  2. 应用app:作为您调用API时的身份,有AppKey和AppSecret用于验证您的身份
  3. API和App的权限关系:App想调用某个API需要具有该API的权限,这个权限通过授权的功能来建立

总得来说,题目不难,只需要些基础的计算机知识就能过。毕竟免费,希望大家都去考。

 

热门文章

暂无图片
编程学习 ·

Linux批量修改文件名

#!/bin/bash #生成文件的list文本,复制文件 for file in `cat val.txt` do cp val1/$file* val/ done#当前文件夹下重命名 for file in val/*-1.png; do mv "$file" "${file%-1.png}.png"; done
暂无图片
编程学习 ·

MySQL不完全干货教程(持续更新中)

已经有很多教程面面俱到、事无巨细,但实际上能用到的、消化的内容很少。本文聚焦于常见的使用场景,给出MySQL用法和基本原理说明。为便于实践和消化,同时提供了很多案例和脚本。 为了读者进一步深入学习、掌握自我升级的方法,提供了一些权威文档的参考。希望能帮助MySQL初中…
暂无图片
编程学习 ·

解决VBE6EXT.OLB不能被加载问题

一般出现这个问题的话,就是配置有问题了,或者是你的VBE6EXT.OLB文件出了问题,看了网上一堆方法,试了很多都不管用,然后综合了一下,总结出了不能用的原因和解决方法:第一种方法: 将自己电脑内的VBA文件转移一下: 路径是由 C:\Program Files (x86)\Common Files\microso…
暂无图片
编程学习 ·

算法复杂度评价指标(大o表示法)

大O表示法(1)常见的大o数量级函数(2)其他算法复杂度表示法 基本操作数量函数T(n)的精确值并不是特别重要,重要的是Tn(n)中起决定性因素的主导部分。用动态的眼光看,就是当问题规模增大的时候,T(n)中的一些部分会盖过其他部分的贡献。 数量级函数描述了T(n)中随着n增加而…
暂无图片
编程学习 ·

dnf强化系统实测 java代码

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;/*** dnf强化系统实测*/ public class Qianghua {public static void main(String[] args) throws IOException {//手动强化//manualQianghua();//自动强化autoQianghua(0,16);}…
暂无图片
编程学习 ·

css基础学习记录

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>CSS</title><!--也可在head style标签里--><!--<style type="text/css">--><!--p{--><!--color: bisqu…
暂无图片
编程学习 ·

“百度大脑EasyDL经典版”拍了拍你,真实的产业应用get了吗?

在现有业务或方案的基础上,企业如何通过引入AI能力真正做到在降低成本的同时提升效率?质检流水线中,检测人员注意力与体力不支导致的低效、价格高昂的智能检测设备、千变万化的瑕疵形态都迫使企业投入更多成本;电网户外巡检中,越来越密集的电网分布、安全指标提升带来的巡…
暂无图片
编程学习 ·

什么是体感互动以及其优势在哪

体感互动通常指的是隔空互动,通过体感设备,来检测人体,通过景物深度处理技术把人物从摄像头捕捉到的画面中分离出来; 随着手指的挥动、在不接触任何物体的情况下做出手势,根据自己的要求发出一些信号,画面就会做出相应的变化,例如对图片、视频进行放大缩小、拖拽、旋转、播…
暂无图片
编程学习 ·

windows使用小技巧——Windows 10 HEVC扩展要收费怎么办?教你怎么免费下载HEVC扩展

平时我一般都使用potplayer打开视频,但在整理视频的时候mov格式的文件总是不能显示缩略图。如果用windows10自带图片查看器打开时会提示下载HEVC,点击后会要求付7元下载。本来已经准备支付宝了,结果发现要将支付宝账号加入windows账号下。。。算了算了,还是看看有没有别的办…
暂无图片
编程学习 ·

趣谈:C++中引用和只指针的区别

1.引用必须初始化,不可以为空,不可以null;指针可以位NULL,可以在任何时候初始化. 2.引用一生只爱一次,一生只爱一个人,一旦绑定一个对象,就不能换对象;指针是情场老手,可以随意的更换对象. 3.引用沉溺爱情,丧失了自己,如果使用sizeof(&),返回的是他对象的大小,而指针是他自…
暂无图片
编程学习 ·

XML DOM摘要四(XMLHttpRequest 对象)

什么是 XMLHttpRequest 对象?XMLHttpRequest 对象提供了在网页加载后与服务器进行通信的方法。XMLHttpRequest 对象是开发者的梦想,因为您能够:在不重新加载页面的情况下更新网页在页面已加载后从服务器请求数据在页面已加载后从服务器接收数据在后台向服务器发送数据 所有现…
暂无图片
编程学习 ·

springboot静态资源无法加载最后原因竟然是拦截器没有生效

今天打开项目,发现页面的样式没了,用F12调试,果不其然,css,js等样式没有加载成功 后面看控制台发现报 No mapping for GET 静态资源。 很明显,访问静态资源的请求被springboot拦截了。 然后我又看自己写的拦截器 @Overridepublic void addInterceptors(InterceptorRegist…
暂无图片
编程学习 ·

JDK的安装与配置

搭建java开发环境 java语言执行需要经过编译原代码,之后才可以在JVM上解释字节码车光绪,这些需要JDK的支持才能完成 开发者可以直接通过Oracle官方网站获取JDK工具。选择与自己操作系统对应版本,初学者版本不必过新。 下载完之后获得一个程序安装包,双击运行即可。 例如将J…
暂无图片
编程学习 ·

流量记录和回放n2disk

n2disk™是网络流量记录器应用程序。n2disk™是具有索引功能的10/40 Gbit网络流量记录器。使用n2disk™,您可以从实时网络接口以几Gigabit速率(在足够的硬件上以10 Gigabit / s以上)捕获全尺寸的网络数据包,并将其写入文件中而不会丢失任何数据包。n2disk™旨在将文件长时间…
暂无图片
编程学习 ·

希尔排序的原理,图解,java代码实现

希尔排序希尔排序就是一种插入排序,又称“缩小增量排序”,是插入排序算法的一种更高效的改进版本。排序原理排序原理:选定一个增长量h,按照曾长亮h作为分组的依据,对数据进行分组。 对分好组的每一组数据完成插入排序。 减少增长量,最小减为1,重复第二步操作。举例排序过…
暂无图片
编程学习 ·

LCOF16 快速幂

链接 lcof16 快速幂 描述 实现函数double Power(double base, int exponent),求base的exponent次方。 分析十进制正整数n,二进制表示“bm…b3b2b1” 二进制转十进制,n = 1b1 + 2b2 + 4b3 + … + 2(m-1)bm 所以计算每一个二进制位的幂(x1,x2 ,x4,…),将所有位的幂相乘 利…
暂无图片
编程学习 ·

将现有Vue项目改为electron桌面端

零、前言之前看了看electron-vue,感觉还是存在一些问题的,比如electon的版本特别特别低,不能忍受。且如果你是用vue搭建的项目,最后希望能够打包成桌面端,其实很简单。一、基本步骤(1)创建vue项目、并进行开发vue create vueDemo(2)突然一天我想打包成桌面程序了// 进…
暂无图片
编程学习 ·

Java解决问题_7

java解决关于“完数”的问题 问题描述: 一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。 现在,你要写一个程序,读入两个正整数n和m(1<=n<m<1000),输出[n,m]范围内所有…
暂无图片
编程学习 ·

python获取51外包网所有投资合作商的公开信息

python获取51外包网所有投资合作商的公开信息 作者:Mac 时间:2020.7.1 ---------------------------------------- 这种爬虫属于: 根据一个网页的url去访问详情页的url, 对详情页的源码进行解析并获取想要的数据。 对于这种爬虫有一个简单的思路(三步): 第一步:先获取一…