码迷,mamicode.com
首页 > 其他好文 > 详细

知识树杂谈(1)

时间:2017-10-01 00:39:10      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:override   速度   png   return   blank   host   exce   src   修改   

1.  DNS劫持是什么;解决办法。

    又称域名劫持,是指在特定网络下,拦截所有域名解析请求,返回假的或不可用的网址。

    解决办法:

              1. 手动修改路由DNS地址和密码;

              2. 使用 HTTPDNS解决:

                   区别:

                   a. DNS协议建立在UDP之上,53端口;HTTPDNS协议建立在http之上,80端口.

                   b. 速度快(多次转发、绕路),域名解析失败率底,绕过运营商的 Local DNS ,避免域名劫持。

                   c. 访问过程如下图:

技术分享

                解决方法:

                   a.  使用阿里云、腾讯云、新浪等提供的HTTPDNS服务;

                   b.  使用可以定制DNS逻辑的网路库,如okhttp.

                        

private static class MyDns implements Dns {

        @Override
        public List<InetAddress> lookup(String hostname) throws UnknownHostException {
            List<String> strIps = HttpDns.getInstance().getIpByHost(hostname); // !!! 注意
            List<InetAddress> ipList;
            if (strIps != null && strIps.size() > 0) {
                ipList = new ArrayList<>();
                for (String ip : strIps) {
                    ipList.add(InetAddress.getByName(ip));
                }
            } else {
                ipList = Dns.SYSTEM.lookup(hostname);
            }
            return ipList;
        }
    }

    private OkHttp3Utils() {
        okhttp3.OkHttpClient.Builder builder = new okhttp3.OkHttpClient.Builder();
        builder.dns(new MyDns());
        mOkHttpClient = builder.build();
    }

 

       4. 推荐文章

           基础知识: http://www.cnblogs.com/softidea/p/5325162.html 

           okhttp:      http://blog.csdn.net/sbsujjbcy/article/details/51612832

 2. Android 兼容性(屏幕适配)

知识树杂谈(1)

标签:override   速度   png   return   blank   host   exce   src   修改   

原文地址:http://www.cnblogs.com/qishuai/p/7616385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!