zoukankan      html  css  js  c++  java
  • 判断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;
        }
        
    }
  • 相关阅读:
    实现两个整数变量的互换
    Js中replace替换所有*
    下载win10系统
    Linux网络基本网络配置方法介绍
    搭建Linux虚拟服务器
    解决SVN Cleanup错误: Failed to run the WC DB work queue associated with
    详细QRCode生成二维码和下载实现案例
    Win10中Vue.js的安装和项目搭建
    什么是Docker,它可干什么?
    Win10下搭建Git服务器
  • 原文地址:https://www.cnblogs.com/leng-yuye/p/3184330.html
Copyright © 2011-2022 走看看