1. 程式人生 > 其它 >工具類|通過Java很簡單的方式獲取當前機器外網地址~

工具類|通過Java很簡單的方式獲取當前機器外網地址~

技術標籤:工具類java

在開發微信支付的專案時候,企業支付中需要配置伺服器的IP地址,之前有的時候是配置檔案的方式進行配置,後來感覺太麻煩了。每次部署到不同伺服器的時候都需要修改,後來改用了自動獲取的方式進行配置。效果還不錯,分享一下。

直接上程式碼工具類,可以取走直接用:

package com.fengchen.ip;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import
net.sf.json.JSONObject; /** * 獲取當前本機外網IP地址 * @author dafei * */ public class IPUtil { public static String getInternetIp() { String ipJson = getIpJson(); JSONObject jo = JSONObject.fromObject(ipJson); if(jo.has("ip")) { return jo.getString("ip"); } return null;
} public static String getIpJson() { Process process; BufferedInputStream bis = null; BufferedReader br = null; try { process = Runtime.getRuntime().exec("curl http://ipinfo.io"); bis = new BufferedInputStream( process.getInputStream()); br = new
BufferedReader(new InputStreamReader(bis)); String line; StringBuffer sb = new StringBuffer(); while ((line = br.readLine()) != null) { sb.append(line); } return sb.toString(); } catch (IOException e) { e.printStackTrace(); } finally { if(bis != null) { try { bis.close(); } catch (IOException e) { e.printStackTrace(); } } if(br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } return null; } public static void main(String[] args) { String ip = getInternetIp(); System.out.println(ip); } }

推薦下大飛做的一個Java技術類公眾號“Java實戰寶典”,主要是收集一些日常工作中常用的工具類,一些實戰專案的教學及一些疑難問題整理。
在這裡插入圖片描述
以上工具類在關注公眾號後輸入“1005”即可獲得maven測試工程。