tencent cloud

移动解析 HTTPDNS

产品简介
产品介绍
应用场景
产品优势
产品限制
购买指南
计费说明
欠费说明
快速入门
开通移动解析 HTTPDNS
接入移动解析 HTTPDNS
操作指南
添加域名
解析量统计说明
解析监控
API 文档
配置信息说明
HTTP 请求方式查询
AES、DES 加密解密说明
API 接入实践教程
SDK 文档
SDK 快速接入
IOS SDK 文档
Android SDK 文档
访问管理及协作
访问管理概述
访问管理策略示例
常见问题
HTTPDNS 政策
隐私协议
数据处理和安全协议

Android SDK API 接口

PDF
聚焦模式
字号
最后更新时间: 2023-06-06 10:57:54

同步解析接口

/**
* HTTPDNS 同步解析接口
* 首先查询缓存,若存在则返回结果,若不存在则进行同步域名解析请求
* 解析完成返回最新解析结果
* 返回值字符串以“;”分隔,“;”前为解析得到的 IPv4 地址(解析失败填“0”),“;”后为解析得到的 IPv6 地址(解析失败填“0”)
* 返回示例:121.14.77.221;2402:4e00:1020:1404:0:9227:71a3:83d2
* @param domain 域名(如www.qq.com)
* @return 域名对应的解析 IP 结果集合
*/
String ips = MSDKDnsResolver.getInstance().getAddrByName(domain);

/**
* HTTPDNS 同步解析接口(批量查询)
* 首先查询缓存,若存在则返回结果,若不存在则进行同步域名解析请求
* 解析完成返回最新解析结果
* 返回值 ipSet 即解析得到的 IP 集合
* ipSet.v4Ips 为解析得到 IPv4 集合, 可能为 null
* ipSet.v6Ips 为解析得到 IPv6 集合, 可能为 null
* 单独域名返回结果示例:IpSet{v4Ips=[121.14.77.201, 121.14.77.221], v6Ips=[2402:4e00:1020:1404:0:9227:71ab:2b74, 2402:4e00:1020:1404:0:9227:71a3:83d2], ips=null}
* 多域名返回结果示例:IpSet{v4Ips=[www.baidu.com:14.215.177.39, www.baidu.com:14.215.177.38, www.youtube.com:104.244.45.246], v6Ips=[www.youtube.com.:2001::1f0:5610], ips=null}
* @param domain 支持多域名,域名以“,”分割,例如:qq.com,baidu.com
* @return 域名对应的解析 IP 结果集合
*/
Ipset ips = MSDKDnsResolver.getInstance().getAddrsByName(domain);

异步解析接口

// 异步回调,注意所有异步请求需配合异步回调使用
MSDKDnsResolver.getInstance().setHttpDnsResponseObserver(new HttpDnsResponseObserver() {
@Override
public void onHttpDnsResponse(String tag, String domain, Object ipResultSemicolonSep) {
long elapse = (System.currentTimeMillis() - Long.parseLong(tag));
String lookedUpResult = "[[getAddrByNameAsync]]:ASYNC:::" + ipResultSemicolonSep +
", domain:" + domain + ", tag:" + tag +
", elapse:" + elapse;
}
});

/**
* HTTPDNS 异步解析接口(需配合异步回调使用)
* 首先查询缓存,若存在则返回结果,若不存在则进行异步域名解析请求
* 解析完成会在异步回调返回最新解析结果
* @param domain 域名(如www.qq.com)
*/
MSDKDnsResolver.getInstance()
.getAddrByNameAsync(hostname, String.valueOf(System.currentTimeMillis()))

/**
* HTTPDNS 异步解析接口(批量查询,需配合异步回调使用)
* 首先查询缓存,若存在则返回结果,若不存在则进行同步域名解析请求
* 解析完成会在异步回调返回最新解析结果
* @param domain 支持多域名,域名以“,”分割,例如:qq.com,baidu.com
*/
MSDKDnsResolver.getInstance()
.getAddrsByNameAsync(hostname, String.valueOf(System.currentTimeMillis()))
如何提升IPv6使用率
如上所示,单个域名解析时,返回固定格式为 IPv4、IPv6,批量域名解析时,返回格式为 IpSet{v4Ips=[], v6Ips=[], ips=[]}。业务可按需获取 IPv6 地址进行 URL 请求。
使用 IPv6 地址进行 URL 请求时,需添加方框号[ ]进行处理,例如:http://[64:ff9b::b6fe:7475]/


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈