1.获取IP归属地接口:
http://ip.taobao.com/service/getIpInfo.php?ip=
2.获取手机号归属地接口:
http://mobsec-dianhua.baidu.com/dianhua_api/open/location?tel=
下面是简单代码实现
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* @Author: jack
*/
public class LocationParse {
public static void main(String[] args) {
//获取ip归属地
String ip = "112.131.121.18";
String urlStr = "http://ip.taobao.com/service/getIpInfo.php?ip="+ip;
String result = getResult(urlStr, "utf-8");
System.out.println(result);
//获取手机号归属地
String phone = "18876612345";
urlStr = "http://mobsec-dianhua.baidu.com/dianhua_api/open/location?tel="+phone;
result = getResult(urlStr, "utf-8");
System.out.println(result);
}
private static String getResult(String urlStr, String encoding) {
URL url = null;
HttpURLConnection connection = null;
try {
url = new URL(urlStr);
connection = (HttpURLConnection) url.openConnection(); // 新建连接实例
connection.setConnectTimeout(2000); // 设置连接超时时间,单位毫秒
connection.setReadTimeout(2000); // 设置读取数据超时时间,单位毫秒
connection.setDoOutput(true); // 是否打开输出流 true|false
connection.setDoInput(true); // 是否打开输入流true|false
connection.setRequestMethod("GET"); // 提交方法POST|GET
connection.setUseCaches(false); // 是否缓存true|false
connection.connect(); // 打开连接端口
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), encoding));// 往对端写完数据对端服务器返回数据
// ,以BufferedReader流来读取
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
reader.close();
return buffer.toString();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect(); // 关闭连接
}
}
return null;
}
}