Los datos devueltos por Taobao son:
{"código": 0, "datos": {"país": "/u4e2d/u56fd", "country_id": "cn", "área": "/u534e/u4e1c", "área_id": "300000",, "Región": "/U5C71/U4E1C/U7701", "Region_id": " 370000 "," Ciudad ":"/U4E1C/U8425/U5E02 "," City_id ":" 370500 "," Condado ":" "," County_id ":"-1 "," ISP ":"/U8054/U901A " , "isp_id": "100026", "ip": "60.214.183.158"}}
uso:
La copia del código es la siguiente:
Cadena arr1 = getAddressByip.getAddressByip ("120.192.182.1");
System.out.println (arr1);
Consulte el código para más detalles
La copia del código es la siguiente:
paquete getAddressByip;
import java.io.bytearrayOutputStream;
import java.io.ioException;
import java.io.inputstream;
import java.net.httpurlconnection;
import java.net.malFormedUrexception;
import java.net.url;
importar net.sf.json.jsonObject;
clase pública getAddressbyip
{
/**
*
* @param ip
* @devolver
*/
Cadena estática pública getAddressByip (String IP) {
String reout = "";
intentar{
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 ("datos");
Código de cadena = (String) obj.get ("código");
if (code.equals ("0")) {
reout = obj2.get ("país") +"-" +obj2.get ("área") +"-" +obj2.get ("ciudad") +"-" +obj2.get ("ISP ");
}demás{
reout = "La dirección IP es incorrecta";
}
} Catch (Exception e) {
E.PrintStackTrace ();
resolve = "Obtener la excepción de la dirección IP:"+E.getMessage ();
}
devolver la respuesta;
}
Cadena estática pública getJsonContent (String urlstr)
{
intentar
{// Obtener el objeto de conexión httpurlconnection
Url url = nueva url (urlstr);
Httpurlconnection httpconn = (httpurlconnection) url
.openconnection ();
// Establecer propiedades de conexión
httpconn.setConnectTimeOut (3000);
httpconn.setDoInput (verdadero);
httpconn.setRequestMethod ("get");
// Obtener el código correspondiente
int respcode = httpconn.getResponseCode ();
if (respfode == 200)
{
return Converstream2Json (httpconn.getInputStream ());
}
}
captura (malformedurlexception e)
{
E.PrintStackTrace ();
}
Catch (ioexception e)
{
E.PrintStackTrace ();
}
devolver "";
}
Cadena estática privada converstream2json (InputStream InputStream)
{
Cadena jsonstr = "";
// bytearRaRyOutputStream es equivalente a la transmisión de salida de memoria
ByteArRayOutputStream out = new byteArRaRyOutputStream ();
byte [] buffer = new Byte [1024];
int len = 0;
// Transferir la secuencia de entrada a la secuencia de salida de memoria
intentar
{
while ((len = inputStream.read (buffer, 0, buffer.length))! = -1)
{
out.write (buffer, 0, len);
}
// convertir la transmisión de memoria en cadena
jsonstr = new String (out.tobytearray ());
}
Catch (ioexception e)
{
// bloque de captura generado automático
E.PrintStackTrace ();
}
regresar jsonstr;
}
}