[英]Get localhost of client machine in Java WD
我在門戶網站Intranet中創建了一個java webdynpro。 需要本地計算機的本地主機,但我只能獲取servername,serverlocalhost和本地計算機的ip-address。
當我在本地java程序上運行以下代碼時,我得到: 工作站 :BEWSP IP :10.10.19.112
當我在SAP Portal程序上運行以下代碼時,我得到: 工作站 :SAPDEP IP :10.10.19.112
我需要在我的SAP Portal應用程序中獲得BEWSP,任何想法都可以這樣做嗎?
InetAddress ip = InetAddress.getLocalHost();
String workstation = "";
String currentip = "";
//Workstation
System.out.println("Workstation : " + ip.getHostName());
workstation = "" + ip.getHostName();
//Ip address
System.out.println("Current IP address : " + ip.getHostAddress());
currentip = "" + ip.getHostAddress();
KR
只是添加OP選擇的方式的實現:
import java.util.regex.Pattern;
import java.io.*;
public class nslookup
{
public static void main(String[] args)
{
try {
Process p = Runtime.getRuntime().exec("cmd /c nslookup 192.168.0.1");
BufferedReader bi = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
line = bi.readLine();
while ( line != null ) {
if ( line.indexOf("Non-existent") != -1 ) {
System.out.println("The host/domain doesn't exist");
break;
}
if (line.matches("Server:\\s+.+$")) {
Matcher matcher = Pattern.compile("(Server:\\s+)([a-z0-9\\-]+[\\.]{1}[a-z0-9\\-]+([\\.]{1}[a-z0-9\\-]+)?([\\.]{1}[a-z0-9\\-]+)?)").matcher(line);
if (matcher.find()) {
String result = matcher.group(2);
System.out.println(result);
System.exit(42);
}
}
line = bi.readLine();
}
bi.close();
} catch (IOException ioe) {
ioe.printStackTrace(); }
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.