Java, um die IP- und MAC -Adresse des Geräts zu erhalten
Einige Maschinen verfügen über viele virtuelle Netzwerkkarten, und einige Unfälle werden beim Erhalten von IP -Adressen auftreten, sodass eine gewisse Überprüfung erforderlich ist:
// Die MAC -Adresse public static String getMacaddress () {try {Enumeration <NetworkInterface> AllNetInterfaces = networkInterface.getNetworkInterfaces (); byte [] mac = null; while (AllNetInterfaces.hasmoreElements ()) {networkInterface netInterface = (networkInterface) AllNetInterfaces.NextElement (); if (netInterface.isloopback () || netInterface.isvirtual () ||! netInterface.isup ()) {Fortsetzung; } else {mac = netInterface.gethardWareaddress (); if (mac! = null) {stringBuilder sb = new StringBuilder (); für (int i = 0; i <mac.length; i ++) {sb.append (string.format ("%02x%s", mac [i], (i <mac.length - 1)? " -": ""); } if (sb.length ()> 0) {return sb.toString (); }}}}} catch (Ausnahme e) {_logger.Error ("MAC -Adressaufnahme fehlgeschlagen", e); } zurückkehren ""; } // Erhalten Sie die IP -Adresse public static String getiPaddress () {try {Enumeration <NetworkInterface> AllnetInterfaces = networkInterface.getNetworkInterfaces (); Inetaddress ip = null; while (AllNetInterfaces.hasmoreElements ()) {networkInterface netInterface = (networkInterface) AllNetInterfaces.NextElement (); if (netInterface.isloopback () || netInterface.isvirtual () ||! netInterface.isup ()) {Fortsetzung; } else {Enumeration <InetAddress> adresses = netInterface.getInetadDresse (); while (adresses.hasmoreElements ()) {ip = adresses.nextElement (); if (ip! = null && ip instanceof inet4Address) {return ip.gethostAddress (); }}}}} catch (Ausnahme E) {_logger.Error ("IP -Adressaufnahme fehlgeschlagen", e); } zurückkehren ""; } Im obigen Code
netinterface.isloopback () || netInterface.isvirtual () || ! netinterface.isup ()
Es kann einige nicht-physische Netzwerkkarten oder nutzlose Netzwerke gut herausfiltern und dann die IPv4-Adresse im Internet abrufen.
Apropos, es gibt einige häufig verwendete:
1. Ermitteln Sie das Betriebssystem der aktuellen Maschine
public Final Static String Win_OS = "Windows"; public Final Static String mac_os = "mac"; public Final Static String Linux_os = "Linux"; öffentliche endgültige statische String other_os = "other"; public static String getos () {if (systemutils.is_os_windows) {return win_os; } if (systemutils.is_os_mac || systemutils.is_os_mac_osx) {return mac_os; } if (systemutils.is_os_unix) {return Linux_os; } return other_os; } 2. Richten Sie HTTP Access Proxy ein
/ *** setze http proxy*/ public static void sethttpproxy () {properties prop = system.getProperties (); // HTTP festlegen, um auf die Adresse des Proxy -Servers zuzugreifen, der verwendet werden kann. // HTTP festlegen, um auf den Port des Proxy -Servers zuzugreifen, der verwendet wird. // Einrichten eines Hosts, auf den nicht über einen Proxy -Server zugegriffen werden muss, kann das * Wildcard -Zeichen verwenden, und mehrere Adressen werden durch | getrennt mit prop.setProperty ("http.nonproxyhosts", remoteConfig.proxt_filter_domain); } / *** entfernen http proxy* / public static void removeHttpproxy () {properties prop = system.getProperties (); prop.remove ("http.proxyhost"); prop.remove ("http.proxyport"); prop.remove ("http.nonproxyhost"); prop.remove ("http.nonproxyhost"); } Wenn die Anwendung startet, legen Sie sie einfach fest, bevor Sie auf die HTTP -Anfrage zugreifen. Natürlich können http.nonproxyhosts ohne Einstellung festgelegt werden, was bedeutet, dass alle HTTP -Anforderungen proxyiert werden.
Was den HTTPS -Proxy betrifft, können Sie es so festlegen:
System.setProperty ("https.proxyhost", "http_proxy_host");
System.setProperty ("https.proxyport", "http_proxy_port");
Das obige ist ein Beispiel dafür, dass Java native IP und Mac erhält. Freunde in Not können sich darauf beziehen. Vielen Dank für Ihre Unterstützung für diese Seite!