剛開始最初的想法是呼叫系統命令來獲取,但是這樣的話需要考慮不同的作業系統的差異,不同作業系統執行的命令是不一樣的。
1. 獲取作業系統
system.getproperty("os.name").tolowercase();
可能取值:win7 --> windows 7 ; windows ,其他
2. windows 獲取ip 和mac 執行命令ipconfig/all
process process = runtime.getruntime().exec("ipconfig /all");
inputstreamreader ir = new inputstreamreader(process.getinputstream());
linenumberreader input = new linenumberreader(ir);
string line;
while ((line = input.readline()) != null)
if (line.indexof(" ip address") > 0)
但是此種方法對於win7無法獲取
對於linux process = runtime.getruntime().exec("ifconfig bond0");
但是有乙個問題,可能我們一台機器上不止乙個網絡卡,有可能有虛擬的網絡卡,這樣子的話用執行命令就不好處理
而jdk1.6其實自帶了api來查詢ip和mac
public static string getipaddr() catch (socketexception e)
inetaddress ip = null;
byte mac;
while (allnetinte***ces.hasmoreelements()) }}
} catch (exception e)
// }
return null;
}
伺服器獲取本地Ip位址
string getlocalip char buff bufsiz struct ifconf conf conf.ifc len bufsiz conf.ifc buf buff const int s socket pf inet,sock dgram,0 ioctl s,siocgifcon...
獲取伺服器的IP位址和MAC位址
獲取伺服器的ip位址和mac位址 獲取伺服器的ip位址方法以dns法較為簡單實用,如下 以下是引用片段 private void buttonip click object sender,system.eventargs e else 以下是引用片段 using system.management ...
java 伺服器 獲取web端IP
在jsp裡,獲取客戶端的ip位址的方法是 request.getremoteaddr 這種方法在大部分情況下都是有效的。但是在通過了apache,squid等反向 軟體就不能獲取到客戶端的真實ip位址了。如果使用了反向 軟體,用request.getremoteaddr 方法獲取的ip位址是 127...