java获取外网IP

  public static String getOutNetIP(String u) throws Exception{
    String ipstr="";
        HttpURLConnection httpConn = null;
        httpConn = (HttpURLConnection) new URL(u).openConnection();
        HttpURLConnection.setFollowRedirects(true);
        httpConn.setRequestMethod("GET");
        httpConn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");
        InputStream in = httpConn.getInputStream();
        byte[] bytes=new byte[1024];
        int offset = 0;
        int numRead = 0;
        while (offset < bytes.length && (numRead=in.read(bytes, offset, bytes.length-offset)) >= 0)
            offset += numRead;
        
        String receivedString=new String(bytes,"UTF-8");
        in.close();
        httpConn.disconnect();
        Pattern pattern=Pattern.compile("(\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})", Pattern.CASE_INSENSITIVE);    
        Matcher matcher=pattern.matcher(receivedString);        
        while(matcher.find())
        ipstr=matcher.group(0);
    return ipstr;

    }

/*

*获取外网ip结果

*/

    public static String getOutNetIP() throws Exception{
    return getOutNetIP("http://checkip.dyndns.org/");
    }

你可能感兴趣的:(java获取外网IP)