判断ip是否大陆的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断ip是否大陆的相关的知识,希望对你有一定的参考价值。

参考技术A 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 = "\u4e2d\u56fd";
private static final String Taiwan = "\u53f0\u6e7e";
private static final String HongKong = "\u9999\u6e2f";
private static final String Macao = "\u6fb3\u95e8";

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;


iOS定位的使用:地理/逆地理编码/判断目标经纬度是否在大陆

以上是关于判断ip是否大陆的的主要内容,如果未能解决你的问题,请参考以下文章

iOS定位的使用:地理/逆地理编码/判断目标经纬度是否在大陆

比特大陆面试“判断是否是理想数”代码分享

powershell 判断ip地址是不是有效

用C#怎么样判断用户IP地址是否国内的

如何判断一个ip地址是否公网地址?

如何判断是否公网ip