阿里云HttpDns接入

article/2025/10/25 13:01:11

个人博客

http://www.milovetingting.cn

前言

简单记录集成阿里云HTTPDNS服务的过程

什么是HTTPDNS

HTTPDNS是面向多端应用(移动端APP,PC客户端应用)的域名解析服务,具有域名防劫持、精准调度、实时解析生效的特性。

以上来自阿里云HTTPDNS文档。

接入流程

服务开通

HTTPDNS是移动研发平台提供的服务,请参考EMAS 快速入门开通服务。

  1. 开通服务后,进入控制台,点击添加产品,如图所示

image

  1. 完成添加产品后,点击添加应用,如图所示

    image

  2. 添加应用完成后,点击刚才添加的应用

    image

  3. 查看Account ID,这个id后面配置dns会用到

    image

  4. 在域名列表中添加域名

    image

Android SDK 接入

  1. 在项目根目录下的build.gradle文件中添加Maven仓库地址
allprojects {repositories {maven {url 'http://maven.aliyun.com/nexus/content/repositories/releases/'}}
}
  1. 在需要引入HTTPDNS服务的模块下的build.gradle中添加依赖
dependencies {compile ('com.aliyun.ams:alicloud-android-httpdns:1.3.3@aar') {transitive true}
}

按照以上官方文档配置,在同步工程后,会报错

Could not find com.aliyun.ams:alicloud-android-utdid:1.1.5.4.
Searched in the following locations:- http://maven.aliyun.com/nexus/content/repositories/releases/com/aliyun/ams/alicloud-android-utdid/1.1.5.4/alicloud-android-utdid-1.1.5.4.pom- https://dl.google.com/dl/android/maven2/com/aliyun/ams/alicloud-android-utdid/1.1.5.4/alicloud-android-utdid-1.1.5.4.pom- https://jcenter.bintray.com/com/aliyun/ams/alicloud-android-utdid/1.1.5.4/alicloud-android-utdid-1.1.5.4.pom
Required by:project :app > com.aliyun.ams:alicloud-android-httpdns:1.3.3 > com.aliyun.ams:alicloud-android-beacon:1.0.4.3

修改如下

implementation('com.aliyun.ams:alicloud-android-httpdns:1.3.3@aar') {transitive trueexclude group: 'com.aliyun.ams', module: 'alicloud-android-utdid'
}
implementation 'com.aliyun.ams:alicloud-android-utdid:1.1.5.3'
  1. 引入Retrofit及gson

    增加依赖

    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    implementation 'com.google.code.gson:gson:2.8.6'
    
  2. 配置DNS

    新建一个类,继承Dns

    public class AliDns implements Dns {private HttpDnsService httpDns;public AliDns(Context context) {//传入account_id,account_id为HTTPDNS控制台添加应用时生成的httpDns = HttpDns.getService(context, "account_id");}@Overridepublic List<InetAddress> lookup(String hostname) throws UnknownHostException {//通过异步解析接口获取ipString ip = httpDns.getIpByHostAsync(hostname);//Android9.0系统及以后版本,https请求无法直接访问,方便起见,直接在AndroidManifest.xml中配置android:usesCleartextTraffic="true"if (ip != null) {//如果ip不为null,直接使用该ip进行网络请求Log.e("AliDns", "ip:" + ip);List<InetAddress> inetAddresses = Arrays.asList(InetAddress.getAllByName(ip));return inetAddresses;}//如果返回null,走系统DNS服务解析域名return Dns.SYSTEM.lookup(hostname);}
    }
    

    设置OkHttpClient的dns

    OkHttpClient client = new OkHttpClient.Builder().dns(new AliDns(getApplicationContext())).build();
    
  3. 调用请求

    Retrofit retrofit = new Retrofit.Builder().client(client).baseUrl("域名").addConverterFactory(GsonConverterFactory.create()).build();
    Api api = retrofit.create(Api.class);
    Call<Bean> call = api.getBanner();
    call.enqueue(new Callback<Bean>() {@Overridepublic void onResponse(Call<Bean> call, Response<Bean> response) {if (!response.isSuccessful()) {tv.setText("请求失败,错误码:" + response.code());return;}Bean bean = response.body();tv.setText(bean.toString());}@Overridepublic void onFailure(Call<Bean> call, Throwable t) {tv.setText(t.getMessage());}
    });
    

源码

https://github.com/milovetingting/Samples


http://chatgpt.dhexx.cn/article/VcH8r26B.shtml

相关文章

HTTPDNS解析

简介 HTTPDNS使用HTTP协议进行域名解析&#xff0c;代替现有基于UDP的DNS协议&#xff0c;域名解析请求直接发送到阿里云的HTTPDNS服务器&#xff0c;从而绕过运营商的Local DNS&#xff0c;能够避免Local DNS造成的域名劫持问题和调度不精准问题。 HTTPDNS是面向移动开发者推…

httpdns技术有什么用

dns解析现状问题1&#xff1a;暴利的dns劫持# 要说为啥会出现httpdns&#xff08;先不用管意思&#xff0c;后面解释&#xff09;&#xff0c;那么&#xff0c;首先要说一下&#xff0c;现在的dns解析&#xff0c;是不是有啥问题&#xff1f; dns能有啥问题呢&#xff0c;就是…

什么是HTTPDNS跟随阿里的httpdns demo一步一步了解httpdns

阿里巴巴是这样说的 HTTPDNS使用HTTP协议进行域名解析&#xff0c;代替现有基于UDP的DNS协议&#xff0c;域名解析请求直接发送到阿里云的HTTPDNS服务器&#xff0c;从而绕过运营商的Local DNS&#xff0c;能够避免Local DNS造成的域名劫持问题和调度不精准问题。 分析demo htt…

HTTPDNS 快速入门

作者&#xff1a;林子 对于互联网&#xff0c;域名解析是访问的第一步&#xff0c;而这一步很多时候会导致访问速度慢、失败&#xff0c;甚至无法访问等&#xff0c;那么怎么解决这些问题呢&#xff1f;本文将带你快速入门 HTTPDNS&#xff0c;怎么解决 LocalDNS 异常导致用户访…

HttpDNS 服务详解

http://www.ttlsa.com/web/httpdns-detailed-service/ 摘要 对于互联网&#xff0c;域名是访问的第一跳&#xff0c;而这一跳很多时候会“失足”&#xff0c;导致访问错误内容&#xff0c;失败连接等&#xff0c;让我们在互联网上畅游的爽快瞬间消失&#xff0c;而对于这关键…

HTTPDNS 解析

简介 HTTPDNS使用HTTP协议进行域名解析&#xff0c;代替现有基于UDP的DNS协议&#xff0c;域名解析请求直接发送到阿里云的HTTPDNS服务器&#xff0c;从而绕过运营商的Local DNS&#xff0c;能够避免Local DNS造成的域名劫持问题和调度不精准问题。 HTTPDNS是面向移动开发者推…

HttpDNS简述

顾名思义&#xff0c;httpdns就是基于http协议进行域名解析的基础服务。可以用来代替传统的基于tcp/udp协议的dns服务。 HttpDNS解决的问题 HttpDNS 目的在于解决移动互联网中传统DNS 解析超时&#xff08;异常&#xff09;、域名劫持等问题&#xff1a; 传统DNS的现状&#x…

关于HTTPDNS,你知道多少?

导读&#xff1a; 全网域名劫持率高&#xff0c;域名解析失败、解析超时&#xff0c;IP调度不精准&#xff0c;域名解析变更生效不实时&#xff0c;这些问题是否一直困扰着你&#xff1f;作为网络请求最前置的环节&#xff0c;域名解析的稳定与精准程度直接决定了APP的访问体验…

Windows 桌面美化

大家都是程序员&#xff0c;我平时上班用mac&#xff0c;mac没啥想调整的&#xff0c;自己用的win想搞美化一点&#xff0c;就网上搜了不少东西。 这是我现在的桌面&#xff0c;桌面软件用的是wallpaper&#xff0c;stream18元有售。内部还有福利。。。。 我只保留了垃圾桶&…

WIN10桌面美化(折腾)

WIN10桌面美化(折腾) 先上我现在桌面的截图:我觉得mac dock挺好看的,所以我把任务栏改成Macdock 修改 :任务栏 修改工具 :MyDock (点击下载) 修改方法 : 先把win任务栏隐藏起来 下载解压

WIN10美化桌面

说到美化桌面这方面&#xff0c;每一个人都有自己的想法。没有最好&#xff0c;只有最适合。由于自己有强迫症这一点&#xff0c;所以我的方案是适合强迫症的。废话不多说&#xff0c;先上桌面截图吧&#xff1a; 下面说下步骤&#xff1a; 由于有强迫症&#xff0c;所以桌面一…

win10电脑桌面html,手把手教你美化win10电脑桌面的小技巧

电脑开机之后首先映入眼帘的是桌面&#xff0c;如果桌面背景不美观&#xff0c;会影响一整天的工作心情。美化Win10系统桌面大家只停留上更换桌面壁纸&#xff0c;改改图标又或者是字体&#xff0c;没什么个性。追求个性化的用户想要打造不一般的桌面&#xff0c;比如主题&…

win10主题美化(单)

网站&#xff1a;https://zhutix.com/tag/win10-zhuti/ Win10美化教程 以下内容新手必看必做&#xff0c;否则请做好重装系统的准备&#xff0c;一切后果自负 01、增加系统登录密码️ 并 关闭系统自动更新&#xff0c;可预防95%因美化引起的闪屏&#xff0c;万一闪屏可以在登录…

171029 windows10 桌面美化

最终效果 视频 https://www.youtube.com/watch?v6-5mromnf3c 壁纸 http://qph.ec.quoracdn.net/main-qimg-2cde0a53288265fd5dbe4285d60c3afc RocketDock https://rocketdock.com/download Win10-Theme https://limera1n.deviantart.com/art/Win10-Theme-for-RocketD…

WIn10桌面美化(一)Rainmeter的使用

随着时代的进步&#xff0c;人们使用电脑的频率越来越高&#xff0c;死板的桌面已经无法满足我们的需求&#xff0c;下面我就简单介绍美化桌面的方法。 这里我使用的是一款名为 Rainmeter 的软件 &#xff0c;Rainmeter原本是一个系统状态监视软件&#xff0c;由于其强大的可定…

美化你的Xfce桌面

Xfce的鼎鼎大名你是不是早有耳闻了&#xff1f;Xfce是一个很好的轻量级桌面环境&#xff0c;占用系统资源少是他的优点&#xff0c;你可能会在一些嵌入式系统中见到他的身影&#xff0c;但他也有一个缺点&#xff0c;那就是默认的界面看起来有点旧。但这是不Xfce的错&#xff0…

Win10桌面美化(桌面数字时钟,悬浮侧边栏、透明任务栏、底部居中软件图标)

生命在于折腾&#xff0c;一个简洁清爽的界面可以让人心情愉悦&#xff0c;整理分享一下我的Win10桌面美化历程&#xff0c;先上效果图&#xff1a; 首先得准备一张好看的壁纸&#xff0c;文中涉及到的图片&#xff0c;软件已经全部打包&#xff0c;下载链接在文末。 1. 桌面数…

Win10值得推荐的软件,提升效率和桌面美观

某乎真强&#xff0c;删后留存 桌面镇楼&#xff0c;最近重装了win10&#xff0c;感觉系统又变得流畅了许多&#xff1f; 因为没有备份&#xff0c;所以软件都重新装了一遍&#xff0c;下面来记录一下Win10下不错的软件吧。 mac的可以查看另一篇文章&#xff1a;MAC值得推荐…

六款顶级桌面美化软件推荐(Windows)

电脑已经渐渐融入我们日常的生活&#xff0c;每天打开电脑娱乐和工作成了多数人生活的一部分。当然&#xff0c;看什么东西时间一长都会产生疲乏和厌倦感&#xff0c;所以不少软件开发者瞄准了系统美化这一块&#xff0c;制作出了很多独具特色的系统美化工具&#xff0c;并且解…

技巧:win10的另一种美化字体的方式,使用noMeiryoUI

目录 1. 前提2. 字体选择3. 查看已经安装的字体并查看效果4. 安装软件修改系统字体5. 修改浏览器字体 1. 前提 21年的时候写了一篇文章&#xff0c;《Windows10下美化字体&#xff0c;达到类似mac的效果》&#xff0c;当时还很迷恋macType这个软件的使用&#xff0c;觉得好牛逼…