package test;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.regex.Pattern;
//获取Ip所在地: http://www.youdao.com/smartresult-xml/search.s?type=ip&q=58.30.32.61<!---->
//身份证信息: http://www.youdao.com/smartresult-xml/search.s?type=id&q=232700198910206016<!---->
//获取手机所在地: http://www.youdao.com/smartresult-xml/search.s?type=mobile&q=13671151172<!---->
public class Test {
static Pattern patternLocation = Pattern
.compile("<LOCATION>(.+{1,})</LOCATION>");
private static final String IPURL = " http://www.youdao.com/smartresult-xml/search.s?type=ip&q=";
private static final String IDURL = " http://www.youdao.com/smartresult-xml/search.s?type=id&q=";
private static final String MOBILEURL = " http://www.youdao.com/smartresult-xml/search.s?type=mobile&q=";
private static String getLocationByIP(String ip) {
String address = "";
try {
URL url = new URL(IPURL + ip);
address = search(url);
} catch (Exception e) {
e.printStackTrace();
}
address = address.substring(address.indexOf("location") + 9);
return address.substring(0, address
.indexOf("</location"));
}
private static String getLocationById(String id) {
String address = "";
try {
URL url = new URL(IDURL + id);
address = search(url);
} catch (Exception e) {
e.printStackTrace();
}
String sex = address.indexOf("<gender>m</gender")>0?"男":"女";
address = address.substring(address.indexOf("location") + 9);
String birthday = address.substring(address.indexOf("birthday>")+9,address.indexOf("</bir"));
birthday = birthday.substring(0,4)+"年"+birthday.substring(4,6)+"月"+birthday.substring(6,8)+"日";
return "地址:"+address.substring(0, address
.indexOf("</location"))+" 性别:"+sex+" 生日:"+birthday;
}
private static String getLocationByMobile(String mobile) {
String address = "";
try {
URL url = new URL(MOBILEURL + mobile);
address = search(url);
} catch (Exception e) {
e.printStackTrace();
}
address = address.substring(address.indexOf("location") + 9);
return "该号码归属地为:"+address.substring(0, address
.indexOf("</location"));
}
private static String search(URL url) throws IOException {
String address;
HttpURLConnection connect = (HttpURLConnection) url
.openConnection();
InputStream is = connect.getInputStream();
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buff = new byte[256];
int rc = 0;
while ((rc = is.read(buff, 0, 256)) > 0) {
outStream.write(buff, 0, rc);
}
byte[] b = outStream.toByteArray();
//关闭
outStream.close();
is.close();
connect.disconnect();
address = new String(b);
return address;
}
public static void main(String[] args) {
System.out.println(getLocationByIP("221.226.177.158"));
System.out.println(getLocationById("xx"));
System.out.println(getLocationByMobile("xx"));
}
}
查询Ip、身份证、手机所在地代码
最新推荐文章于 2023-02-15 18:20:16 发布