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、身份證、手機所在地代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.