Deprecated: 函数 get_currentuserinfo 自版本 4.5.0 起已弃用!请使用 wp_get_current_user() 替代。 in /data/home/qxu1142130176/htdocs/wp-includes/functions.php on line 5383
最新消息:

android和ios在WIFI和4G网络下获取真实的公网IP地址

Java 前端收藏 2223浏览

利用淘宝获取手机的IP地址,同样的原理,也可以利用其它网站的服务器获取手机的公网真实IP地址。

public static String getPhoneIP()
    {
        String IP = "";
        try
        {
            String address = "http://ip.taobao.com/service/getIpInfo2.php?ip=myip";
            URL url = new URL(address);
            HttpURLConnection connection = (HttpURLConnection) url
                    .openConnection();
            connection.setUseCaches(false);

            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");
                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") + ")";
                    IP = data.getString("ip");

                    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;
    }

转载请注明:前端收藏 » android和ios在WIFI和4G网络下获取真实的公网IP地址