jeesite作为后台,用ip定位的功能
2016-05-10 15:59
225 查看
public class AreaUtils {
@Autowired
private AreaService areaService;
public List<Area> IpDingWei(HttpServletRequest request) throws IOException {
//运用淘宝Ip定位,region_id StringUtils.getRemoteAddr(request) 123.232.172.54
String url = "http://ip.taobao.com/service/getIpInfo.php?ip=" + "123.232.172.54";
JSONObject json = readJsonFromUrl(url);
String city_id = (String) json.getJSONObject("data").get("city_id");
Area a = new Area();
a.setCode(city_id);
List<Area> area = areaService.findList(a);
return area;
}
private static String readAll(Reader rd) throws IOException {
StringBuilder sb = new StringBuilder();
int cp;
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
return sb.toString();
}
public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
InputStream is = new URL(url).openStream();
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
JSONObject json = JSONObject.fromObject(jsonText);
return json;
} finally {
is.close();
// System.out.println("同时 从这里也能看出 即便return了,仍然会执行finally的!");
}
}
}
@Autowired
private AreaService areaService;
public List<Area> IpDingWei(HttpServletRequest request) throws IOException {
//运用淘宝Ip定位,region_id StringUtils.getRemoteAddr(request) 123.232.172.54
String url = "http://ip.taobao.com/service/getIpInfo.php?ip=" + "123.232.172.54";
JSONObject json = readJsonFromUrl(url);
String city_id = (String) json.getJSONObject("data").get("city_id");
Area a = new Area();
a.setCode(city_id);
List<Area> area = areaService.findList(a);
return area;
}
private static String readAll(Reader rd) throws IOException {
StringBuilder sb = new StringBuilder();
int cp;
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
return sb.toString();
}
public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
InputStream is = new URL(url).openStream();
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
JSONObject json = JSONObject.fromObject(jsonText);
return json;
} finally {
is.close();
// System.out.println("同时 从这里也能看出 即便return了,仍然会执行finally的!");
}
}
}
相关文章推荐
- android学习之jni编程初探
- php文件之间相互引用路径问题的一般处理方法
- 分享一个在线的渐变代码在线生成器
- Hausdorff distance
- extjs panel
- java Map扩展知识练习
- 作业2
- nginx 并发数问题思考:worker_connections,worker_processes与 max clients
- JDK TimerTask任务使用
- lucene
- 双字节型变量
- redhat6 本地 yum源配置方法
- JAVA中字符串比较equals()和equalsIgnoreCase()的区别
- C++:重载、覆盖与隐藏
- 如何使GD支持webpq
- libimobiledevice安装步骤
- 备份mysql
- MySQL逗号分割字段的行列转换测试改进
- 报错Resource temporarily unavailable
- java Map练习-获取字符串中字母出现次数(TreeMap实现)