HTTP DNS 不算新兴事物,不过肯定是好玩的东西。 国内直接提供的商就不认识了,不过还有国外出名的:Google, Cloudflare
这个就拿还能用的 Cloudflare 制作一个简单的例子。
先挖出自己的 JS 里面的 rRaw 函数里面实现,稍作修改就可以使用。
function rRaw(url, callback) {
var r = new XMLHttpRequest();
r.async = true;
r.addEventListener('error', function(err) {
console.error('[rRaw]', url, 'failed', err);
});
r.addEventListener('load', function() {
console.info('[rRaw]', url, 'loaded');
var dat = JSON.parse(this.responseText);
if (callback !== undefined) {
callback(dat);
}
});
r.open('GET', url, true);
r.send();
console.info('[rRaw]', url);
}
rRaw('https://dns.google.com/resolve?name=example', function(dat) {
console.log(dat);
});
Cloudflare
rRaw('https://cloudflare-dns.com/dns-query?ct=application/dns-json&name=example.com&type=AAAA', function(dat) {
console.log(dat);
});