Android正确获取外网ip的方法。

来源:互联网 发布:php 反射类好处 编辑:程序博客网 时间:2024/06/01 09:08
public static String GetNetIp() {    String IP = "";    try {        String address = "http://ip.taobao.com/service/getIpInfo2.php?ip=myip";        URL url = new URL(address);      //  URLConnection htpurl=url.openConnection();        HttpURLConnection connection = (HttpURLConnection) url                .openConnection();        connection.setUseCaches(false);        connection.setRequestMethod("GET");        connection.setRequestProperty("user-agent",                "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.7 Safari/537.36"); //设置浏览器ua 保证不出现503        if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {            InputStream in = connection.getInputStream();            // 将流转化为字符串            BufferedReader reader = new BufferedReader(                    new InputStreamReader(in));            String tmpString = "";            StringBuilder retJSON = new StringBuilder();            while ((tmpString = reader.readLine()) != null) {                retJSON.append(tmpString + "\n");            }            JSONObject jsonObject = new JSONObject(retJSON.toString());            String code = jsonObject.getString("code");            LogUtil.e("提示:" +retJSON.toString());            if (code.equals("0")) {                JSONObject data = jsonObject.getJSONObject("data");                IP = data.getString("ip") + "(" + data.getString("country")                        + data.getString("area") + "区"                        + data.getString("region") + data.getString("city")                        + data.getString("isp") + ")";                Log.e("提示", "您的IP地址是:" + IP);            } else {                IP = "";                Log.e("提示", "IP接口异常,无法获取IP地址!");            }        } else {            IP = "";            Log.e("提示", "网络连接异常,无法获取IP地址!");        }    } catch (Exception e) {        IP = "";        Log.e("提示", "获取IP地址时出现异常,异常信息是:" + e.toString());    }    return IP;}
原创粉丝点击