البيانات التي تم إرجاعها بواسطة Taobao هي:
{"Code": 0 ، "Data": {"Country": "/u4e2d/u56fd" ، "country_id": "المنطقة": "/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"}}
الاستخدام:
نسخة الكود كما يلي:
String ARR1 = getAddressByip.getAddressByip ("120.192.182.1") ؛
system.out.println (arr1) ؛
يرجى الاطلاع على الرمز للحصول على التفاصيل
نسخة الكود كما يلي:
حزمة getaddressbyip ؛
استيراد java.io.bytearrayoutputstream ؛
استيراد java.io.ioException ؛
استيراد java.io.inputstream ؛
استيراد java.net.httpurlconnection ؛
استيراد java.net.malformedurlexception ؛
استيراد java.net.url ؛
استيراد net.sf.json.jsonobject ؛
الطبقة العامة getaddressbyip
{
/**
*
* param IP
* @يعود
*/
السلسلة الثابتة العامة getAddressByip (سلسلة IP) {
سلسلة resout = "" ؛
يحاول{
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 ("البيانات") ؛
رمز السلسلة = (سلسلة) obj.get ("رمز") ؛
if (code.equals ("0")) {
resout = obj2.get ("country") +"-" +obj2.get ("area") +"-" +obj2.get ("city") +"-" +obj2.get ("ISP ") ؛
}آخر{
resout = "عنوان IP غير صحيح" ؛
}
} catch (استثناء e) {
E.PrintStackTrace () ؛
حل = "الحصول على عنوان IP استثناء:"+E.GetMessage () ؛
}
رد الرد
}
السلسلة الثابتة العامة getJsonContent (سلسلة urlstr)
{
يحاول
{// احصل على كائن اتصال httpurlConnection
url url = url جديد (urlstr) ؛
httpurlconnection httpconn = (httpurlconnection) url
.OpenConnection () ؛
// تعيين خصائص الاتصال
httpconn.setConnectTimeout (3000) ؛
httpconn.setDoInput (صحيح) ؛
httpconn.setRequestMethod ("get") ؛
// احصل على الرمز المقابل
int respcode = httpconn.getResponsecode () ؛
إذا (respcode == 200)
{
Return ConvertStream2Json (httpconn.getInputStream ()) ؛
}
}
الصيد (مشوهة e)
{
E.PrintStackTrace () ؛
}
الصيد (ioException E)
{
E.PrintStackTrace () ؛
}
يعود ""؛
}
سلسلة ثابتة خاصة ConvertStream2Json (InputStream inputStream)
{
String jsonstr = "" ؛
// bytearrayoutputstream يعادل دفق إخراج الذاكرة
bytearrayoutputstream out = new bytearrayoutputstream () ؛
Byte [] Buffer = New Byte [1024] ؛
int len = 0 ؛
// نقل دفق الإدخال إلى دفق إخراج الذاكرة
يحاول
{
بينما ((len = inputStream.Read (Buffer ، 0 ، Buffer.Length))! = -1)
{
Out.write (Buffer ، 0 ، Len) ؛
}
// تحويل دفق الذاكرة إلى سلسلة
jsonstr = new string (out.tobytearray ()) ؛
}
الصيد (ioException E)
{
// TODO AUTO CATCH BLOCK
E.PrintStackTrace () ؛
}
إرجاع jsonstr.
}
}