• 判断ip是否在中国内地


    package com.example.countrytest;
    
    import org.apache.http.HttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.json.JSONObject;
    
    /*
     * 通过ip判断是否是中国内地
     */
    public class IpChina {
        
        private static final String ipUrl = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json";
        private static final String China = "u4e2du56fd";
        private static final String Taiwan = "u53f0u6e7e";
        private static final String HongKong = "u9999u6e2f";
        private static final String Macao = "u6fb3u95e8";
        
        public static boolean ipIsChinaInland() {
            try {
                String json = getIpData();
                System.out.println("json="+json);
                JSONObject jsonObject = new JSONObject(json);
                String country = jsonObject.getString("country");
                String city = jsonObject.getString("province");
                if(country!=null && city!=null) {
                    if(country.equals(China)) {
                        if(city.equals(Taiwan) || city.equals(HongKong) || city.equals(Macao)) {
                            // deal with non-china inland
                        } else {
                            //  deal with china inland
                            return true;
                        }
                    } else {
                        //  deal with non-china inland
                    }
                } else {
                    // deal with non-china inland
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return false;
        }
        
        private static String getIpData() throws Exception  {
            HttpGet httpRequest = new HttpGet(ipUrl);// 建立http get联机
            HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);// 发出http请求
            if (httpResponse.getStatusLine().getStatusCode() == 200)
               return EntityUtils.toString(httpResponse.getEntity());// 获取相应的字符串
            return null;
        }
        
    }
  • 相关阅读:
    常见 PL.SQL 数据库操作
    PL/SQL常见设置--Kevin的专栏
    pl/sql编程
    添加List集合覆盖问题
    程序猿感情生活的那些事
    表达式树-理解与进阶
    白话神经网络
    EF Core 数据验证
    c#8内插逐字字符串增强功能
    我的新博客
  • 原文地址:https://www.cnblogs.com/leng-yuye/p/3184330.html
Copyright © 2020-2023  润新知