Data yang dikembalikan oleh Taobao adalah:
{"kode": 0, "data": {"country": "/u4e2d/u56fd", "country_id": "cn", "Area": "/u534e/u4e1c", "Area_id": "300000", "Wilayah": "/u5c71/u4e1c/u7701", "region_id": " 370000 "," City ":"/u4e1c/u8425/u5e02 "," city_id ":" 370500 "," county ":" "," county_id ":"-1 "," isp ":"/u8054/u901a " , "isp_id": "100026", "ip": "60.214.183.158"}}
penggunaan:
Salinan kode adalah sebagai berikut:
String arr1 = getAddressbyip.getAddressByIp ("120.192.182.1");
System.out.println (ARR1);
Silakan lihat kode untuk detailnya
Salinan kode adalah sebagai berikut:
paket getaddressbyip;
impor java.io.bytearrayoutputStream;
impor java.io.ioException;
impor java.io.inputstream;
impor java.net.httpurlconnection;
impor java.net.malformedurlexception;
impor java.net.url;
impor net.sf.json.jsonobject;
kelas publik getAddressByip
{
/**
*
* @param IP
* @kembali
*/
string statis public getAddressByIp (string ip) {
String resout = "";
mencoba{
String str = getjsonContent ("http://ip.taobao.com/service/getipinfo.php?ip="+ip);
System.out.println (str);
JsonObject obj = jsonobject.fromObject (str);
JsonObject obj2 = (jsonObject) obj.get ("data");
String code = (string) obj.get ("code");
if (code.equals ("0")) {
resout = obj2.get ("country") +"-" +obj2.get ("area") +"-" +obj2.get ("city") +"-" +obj2.get ("ISP ");
}kalau tidak{
resout = "alamat IP salah";
}
} catch (Exception e) {
e.printstacktrace ();
resolve = "Dapatkan Pengecualian Alamat IP:"+E.GetMessage ();
}
Balas balas;
}
String statis publik getjsonContent (string urlstr)
{
mencoba
{// Dapatkan objek koneksi httpurlconnection
Url url = url baru (urlstr);
Httpurlconnection httpconn = (httpurlconnection) url
.openconnection ();
// Atur properti koneksi
httpconn.setConnecttimeout (3000);
httpconn.setdoInput (true);
httpconn.setRequestMethod ("get");
// Dapatkan kode yang sesuai
int respCode = httpconn.getResponsecode ();
if (respCode == 200)
{
return convertStream2json (httpconn.getInputStream ());
}
}
Catch (Malformedurlexception E)
{
e.printstacktrace ();
}
Catch (ioException e)
{
e.printstacktrace ();
}
kembali "";
}
Private Static String ConvertStream2json (InputStream InputStream)
{
String jsonstr = "";
// bytearrayoutputStream setara dengan aliran output memori
BytearrayoutputStream out = bytearrayoutputStream () baru;
byte [] buffer = byte baru [1024];
int len = 0;
// Transfer aliran input ke aliran output memori
mencoba
{
while ((len = inputStream.read (buffer, 0, buffer.length))! = -1)
{
out.write (buffer, 0, len);
}
// Konversi aliran memori ke string
jsonstr = string baru (out.tobytearray ());
}
Catch (ioException e)
{
// TODO Blok tangkapan yang dihasilkan otomatis
e.printstacktrace ();
}
mengembalikan jsonstr;
}
}