应用研发平台EMAS有http调用方式的链接demo吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
是的,应用研发平台 EMAS 提供了 HTTPDNS 服务的调用方式以及相关的 Demo 示例,帮助开发者快速集成和使用该功能。
HTTPDNS 服务支持通过 HTTP API 的方式进行调用。以下是调用的基本信息:
服务地址:
httpdns-api.aliyuncs.com
httpdns-dualstack.aliyuncs.com
通信协议:
请求方法:
请求参数:
AddDomain
),并包含公共请求参数和特定操作所需参数。Format
:返回值类型,支持 JSON 和 XML,默认为 XML。Version
:API 版本号,例如 2016-02-01
。AccessKeyId
:访问服务的密钥 ID。Signature
:签名结果串,详见签名机制。SignatureMethod
:签名方式,支持 HMAC-SHA1。Timestamp
:ISO8601 标准的 UTC 时间戳。SignatureVersion
:签名算法版本,例如 1.0。SignatureNonce
:唯一随机数,防止网络重放攻击。字符编码:
EMAS 提供了多个平台的 Demo 示例项目,方便开发者了解如何在不同平台上集成 HTTPDNS 功能。以下是获取和使用 Demo 的步骤:
下载 Demo:
支持的平台:
示例代码:
如果您希望直接查看 HTTPDNS 的使用示例,可以通过 GitHub 获取相关代码。例如:
public class NetworkRequestUsingHttpDNS {
public static void main(final Context ctx) {
try {
// 设置 APP Context 和 Account ID,并初始化 HTTPDNS
httpdns = HttpDns.getService(ctx, accountID);
// 自定义降级逻辑
DegradationFilter filter = new DegradationFilter() {
@Override
public boolean shouldDegradeHttpDNS(String hostName) {
return hostName.equals("www.taobao.com") || detectIfProxyExist(ctx);
}
};
httpdns.setDegradationFilter(filter);
} catch (Exception e) {
e.printStackTrace();
}
}
}
在完成集成后,您可以通过以下方式验证 HTTPDNS 服务是否正常工作:
构造测试 URL:
https://203.107.1.33/${accountId}/d?host=${host}
${accountId}
替换为您控制台中的实际值。${host}
替换为需要解析的域名。预期返回结果:
[
{
"host": "www.aliyun.com",
"ips": ["192.X.X.1", "192.X.X.2"],
"ttl": 596,
"origin_ttl": 600,
"client_ip": "192.168.XX.XX"
}
]
{
"host": "www.example.com",
"ips": [],
"ttl": 300,
"client_ip": "140.X.X.236"
}
通过上述步骤,您可以轻松获取 HTTPDNS 的调用方式和 Demo 示例,并完成服务的集成与验证。如果需要更详细的指导,建议参考官方文档或联系技术支持。