接口文档
2020-07-05 本文已影响0人
魔女小姐的猫
API服务地址
一. 正式服务器域名
DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
-
概述:
把域名翻译成IP地址的软件称为域名系统,即DNS。它是一种管理名字的方法。这种方法是:分不同的组来负责各子系统的名字。系统中的每一层叫做一个域,每个域用一个点分开。所谓域名服务器(即Domain Name Server,简称Name Server)实际上就是装有域名系统的主机。它是一种能够实现名字解析(name resolution)的分层结构数据库。 -
域名类型
- 一是国际域名(international top-level domain-names,简称iTDs),也叫国际顶级域名。这也是使用最早也最广泛的域名。例如表示工商企业的 .com .top,表示网络提供商的.net,表示非盈利组织的.org等。
- 二是国内域名,又称为国内顶级域名(national top-level domainnames,简称nTLDs),即按照国家的不同分配不同后缀,这些域名即为该国的国内顶级域名。200多个国家和地区都按照ISO3166国家代码分配了顶级域名,例如中国是cn,美国是us,日本是jp等。
- 类型
- 主域名服务
负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。 - 辅助域名服务
当主域名服务器出现故障、关闭或负载过重时,辅助域名服务器作为主域名服务器的备份提供域名解析服务。辅助域名服务器中的区域文件中的数据是从另外的一台主域名服务器中复制过来的,是不可以修改的。 - 缓存域名服务
从某个远程服务器取得每次域名服务器的查询回答,一旦取得一个答案就将它放在高速缓存中,以后查询相同的信息就用高速缓存中的数据回答,缓存域名服务器不是权威的域名服务器,因为它提供的信息都是间接信息。 - 转发域名服务
负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。
-
优点
之所以域名解析不需要很长时间,是因为上网接入商,比如北京电信,河南电信等,为了要加速用户打开网页的速度,通常在他们的DNS服务器中缓存了很多域名的DNS记录。这样这个接入商的用户要打开某个网页时,接入商的服务器不需要去查询域名数据库,而是把自己缓存中的DNS记录直接使用,从而加快用户访问网站的速度。这是优点。
二. 请求结构
- 构造方法
- ⽀持 HTTP GET ⽅法发送请求,这种⽅式下请求参数需要包含在请求的 URL 中。
- ⽀持 HTTP POST ⽅法 发送请求,这种⽅式下请求参数需要包含在请求的 BODY 中。
三. 签名机制
- SUN提供的常用的算法名称有:
- MD2
- MD5
- SHA-1
//实例化MessageDigest对象 ,SHA-1是 所请求算法的名称
MessageDigest md = MessageDigest.getInstance("SHA-1");
//处理数据
md.update(sortarr.getBytes("UTF-8"));
//哈希计算
byte[] digest = md.digest();
//创建StringBuffer
StringBuffer sb = new StringBuffer();
//遍历
for ( byte b:
digest) {
//0xFF 是计算机十六进制的表示: 0x就是代表十六进制,A B C D E F 分别代表10 11 12 13 14 15 F就是15 一个F 代表4位二进制:可以看做 是 8 4 2 1。
int i = b & 0xff;
if (i < 0xf) {
sb.append(0);
}
//用Stringbuffer进行拼接,以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
sb.append(Integer.toHexString(i));
}
//打印SHA-1
Log.i("tag", "SHA-1:" + sb.toString().toUpperCase());
- SHA-256
- SHA-384
- SHA-512