java本機ip,java本機ip地址

本文目錄一覽:

java中如何獲取到本機的外網ip地址?

java獲取本機的外網ip示例:

import java.io.IOException;

import java.io.InputStream;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

* 獲取本機外網IP地址

* 思想是訪問網站,得到返回的文本後解析出本機在外網的IP地址

* @author pieryon

*

*/

public class ExternalIpAddressFetcher {

// 外網IP提供者的網址

private String externalIpProviderUrl;

// 本機外網IP地址

private String myExternalIpAddress;

public ExternalIpAddressFetcher(String externalIpProviderUrl) {

this.externalIpProviderUrl = externalIpProviderUrl;

String returnedhtml = fetchExternalIpProviderHTML(externalIpProviderUrl);

parse(returnedhtml);

}

/**

* 從外網提供者處獲得包含本機外網地址的字元串

* 從返回的字元串如下

* htmlheadtitleCurrent IP Check/title/headbodyCurrent IP Address: 123.147.226.222/body/html

* @param externalIpProviderUrl

* @return

*/

private String fetchExternalIpProviderHTML(String externalIpProviderUrl) {

// 輸入流

InputStream in = null;

// 到外網提供者的Http連接

HttpURLConnection httpConn = null;

try {

// 打開連接

URL url = new URL(externalIpProviderUrl);

httpConn = (HttpURLConnection) url.openConnection();

// 連接設置

HttpURLConnection.setFollowRedirects(true);

httpConn.setRequestMethod(“GET”);

httpConn.setRequestProperty(“User-Agent”,

“Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)”);

// 獲取連接的輸入流

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;

}

// 將位元組轉化為為UTF-8的字元串

String receivedString=new String(bytes,”UTF-8″);

// 返回

return receivedString;

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

in.close();

httpConn.disconnect();

} catch (Exception ex) {

ex.printStackTrace();

}

}

// 出現異常則返回空

return null;

}

/**

* 使用正則表達式解析返回的HTML文本,得到本機外網地址

* @param html

*/

private void parse(String html){

Pattern pattern=Pattern.compile(“(\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})”, Pattern.CASE_INSENSITIVE);

Matcher matcher=pattern.matcher(html);

while(matcher.find()){

myExternalIpAddress=matcher.group(0);

}

}

/**

* 得到本機外網地址,得不到則為空

* @return

*/

public String getMyExternalIpAddress() {

return myExternalIpAddress;

}

public static void main(String[] args){

ExternalIpAddressFetcher fetcher=new ExternalIpAddressFetcher(“”);

System.out.println(fetcher.getMyExternalIpAddress());

}

}

java怎麼獲取當前電腦的內網ip

public void PingAll() throws Exception{

//首先得到本機的IP,得到網段

InetAddress host = InetAddress.getLocalHost();

String hostAddress = host.getHostAddress();

int k=0;

k=hostAddress.lastIndexOf(“.”);

String ss = hostAddress.substring(0,k+1);

for(int i=1;i =255;i++){ //對所有區域網Ip

String iip=ss+i;

Ping(iip);

}

java中如何過去本機ip地址並輸出

InetAddress addr = InetAddress.getLocalHost();

ip=addr.getHostAddress().toString;//獲得本機IP

address=addr.getHostName()toString;//獲得本機名稱

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/153394.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-14 03:05
下一篇 2024-11-14 03:05

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • cmd看地址

    本文將從多個方面詳細闡述cmd看地址,包括如何查看本機IP地址、如何查看路由器IP、如何查看DNS伺服器IP等等。 一、查看本機IP地址 要查看本機IP地址,首先需要打開cmd窗口…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論