通过IP地址获取IP所在城市和所使用运营商

有些jsp需要用到用户评论的功能,如果有用户注册的话就方便了,直接显示XXX用户评论,有些不需要注册,只有游客浏览的功能,这样可以显示游客的IP地址,但是这样不安全,于是想到了使用城市+运营商显示,具体代码如下:
package ip;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
/**
*  根据IP地址获取详细的地域信息
*  @project:personGocheck
*  @class:AddressUtils.java
*  @author:heguanhua E-mail:[email protected]
*  @date:Nov 14, 2012 6:38:25 PM
*/
public class AddressUtils { 
/**
  *
  * @param content
  *            请求的参数 格式为:name=xxx&pwd=xxx
  * @param encoding
  *            服务器端请求编码。如GBK,UTF-8等
  * @return
  * @throws UnsupportedEncodingException
  */
public String getAddresses(String content, String encodingString)
   throws UnsupportedEncodingException {
  // 这里调用pconline的接口
  String urlStr = "http://ip.taobao.com/service/getIpInfo.php";
  // 从http://whois.pconline.com.cn取得IP所在的省市区信息
  String returnStr = this.getResult(urlStr, content, encodingString);
  if (returnStr != null) {
   // 处理返回的省市区信息
   //System.out.println(returnStr);
   String[] temp = returnStr.split(",");
   if(temp.length<3){
    return "0";//无效IP,局域网测试
   }
  // String region = (temp[5].split(":"))[1].replaceAll("\"", "");
   //region = decodeUnicode(region);// 省份
     String country = "";
     String area = "";
     String region = "";
     String
     city = "";
     String county = "";
     String isp = "";
     for(int i=0;i


你可能感兴趣的:(JAVA)