Java如何獲取本地內(nèi)網(wǎng)IP和外網(wǎng)IP?
這個(gè)其實(shí)很簡(jiǎn)單,獲取內(nèi)網(wǎng)IP的話,直接使用InetAddress這個(gè)包就行,獲取外網(wǎng)IP的話,需要訪問(wèn)一個(gè)網(wǎng)頁(yè),獲取網(wǎng)頁(yè)內(nèi)容,然后通過(guò)正則表達(dá)式匹配出IP地址就行,下面我簡(jiǎn)單介紹一下實(shí)現(xiàn)過(guò)程,實(shí)驗(yàn)環(huán)境win10+jdk1.8+eclipse,主要內(nèi)容如下:
獲取內(nèi)網(wǎng)IP
1.這里直接導(dǎo)入InetAddress這個(gè)包,然后調(diào)用getLocalHost函數(shù)就能實(shí)現(xiàn),代碼如下,非常簡(jiǎn)單,也就2行:
2.點(diǎn)擊運(yùn)行這個(gè)程序,就會(huì)打印出當(dāng)前的內(nèi)網(wǎng)IP,效果如下:
獲取外網(wǎng)IP
1.這里需要先訪問(wèn)一個(gè)網(wǎng)頁(yè)http://txt.go.sohu.com/ip/soip,這個(gè)網(wǎng)頁(yè)會(huì)顯示出當(dāng)前訪問(wèn)用戶的外網(wǎng)IP地址,如下,后面的代碼中也就是通過(guò)正則表達(dá)式匹配這地址:
2.代碼如下,基本流程就是根據(jù)url打開(kāi)網(wǎng)頁(yè),獲取網(wǎng)頁(yè)內(nèi)容,然后通過(guò)正則表達(dá)式匹配出IP地址就行,如下,代碼量比較多,但是很好理解,不難:
點(diǎn)擊運(yùn)行這個(gè)程序,就會(huì)打印出本地外網(wǎng)IP地址,如下:
至此,我們就完成了利用Java來(lái)獲取本地內(nèi)網(wǎng)IP和外網(wǎng)IP。總的來(lái)說(shuō),整個(gè)過(guò)程很簡(jiǎn)單,思路也比較清晰,只要你熟悉一下相關(guān)代碼,很快就能掌握的,網(wǎng)上也有相關(guān)教程和資料,感興趣的話,可以搜一下,希望以上分享的內(nèi)容能對(duì)你有所幫助吧,也歡迎大家評(píng)論、留言。