很多情况下,使用默认的DNS解析得到的IP并不可信。经常被劫持,在移动APP开发中尤为常见。 故而有了httpdns这种东西,通过一个http接口来进行域名解析(一般这个接口用IP访问),然后进行网络请求,常见的httpdns服务:
阿里云 https://www.aliyun.com/product/httpdns
DNSPOD https://www.dnspod.cn/httpdns/demo
出于安全考虑,jdk的HttpUrlConnection里面,如果你设置一个叫做Host的头,该类会“不动声色”的忽略过去,这时候需要在启动参数里加上一个
-Dsun.net.http.allowRestrictedHeaders=true
或者选用HttpClient系列的东西来完成网络请求。
这个操作相当于Linux上的命令 wget –header="Host: hostname" url