java1.8.9服务器地址

java1.8.9服务器地址,第1张

1、单击电脑桌面“win”图标,在菜单中点击设置选项,进入设置页面;

2、点击“网络和Internet”选项,接着点击左侧属性栏的“状态”选项;

3、在页面中进入“网络和共享中心”页面,在页面中单击连接的网络名称;

4、在弹窗中选择“常规”选项,然后点击页面中的“详细信息”选项;

5、在详细信息页面即可查看当前服务器地址。

1、在远程server里搭建一个http服务,并支持某种服务端语言(如.net或php之类)

2、用服务端语言获取到服务器的磁盘信息,把结果输出

3、在本地用JS写一段AJAX脚本,远程请求服务端写好的程序,得到结果,并展示给用户

<html>

<head>

<title>提取硬盘序列号</title>

<script>

function disk() {//硬盘序列号 信息

 var locator = new ActiveXObject ("WbemScripting.SWbemLocator")

 var service = locator.ConnectServer(".")

 var properties = service.ExecQuery("SELECT * FROM Win32_DiskDrive")

 var e = new Enumerator (properties)

 document.write("<table border=1>")

 for (!e.atEnd()e.moveNext ())

 {

var p = e.item ()

document.write("<tr>")

document.write("<td>" + p.signature + "</td>")

document.write("</tr>")

 }

 document.write("</table>")

}

</script>

</head>

<body>

<input type="button" value="硬盘序列号" onclick="disk()">

</body>

</html>

在这上找的代码:

对于写过ASP或.net 的人来说,通过asp或.net 语言来获得客户端的硬件信息是很熟悉的.但如何通过javascript这种客户端脚本来获得客户端的信息呢?请看以下实例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

 <head>

<title>javascript获得客户端硬件信息-www.web2bar.cn/</title>

<meta name="GENERATOR" content="Microsoft Visual Studio .NET

7.1">

<meta name="vs_targetSchema"

content="http://schemas.microsoft.com/intellisense/ie5">

 <script id=clientEventHandlersJS language=javascript>

<!--

function Button2_onclick() {//CPU 信息

 var locator = new ActiveXObject ("WbemScripting.SWbemLocator")

 var service = locator.ConnectServer(".")

 var properties = service.ExecQuery("SELECT * FROM Win32_Processor")

 var e = new Enumerator (properties)

 document.write("<table border=1>")

 for (!e.atEnd()e.moveNext ())

 {

var p = e.item ()

document.write("<tr>")

document.write("<td>" + p.Caption + "</td>")

document.write("<td>" + p.DeviceID + "</td>")

document.write("<td>" + p.Name + "</td>")

document.write("<td>" + p.CpuStatus + "</td>")

document.write("<td>" + p.Availability + "</td>")

document.write("<td>" + p.Level + "</td>")

document.write("<td>" + p.ProcessorID + "</td>")

document.write("<td>" + p.SystemName + "</td>")

document.write("<td>" + p.ProcessorType + "</td>")

document.write("</tr>")

 }

 document.write("</table>")

}

function Button1_onclick() {//软盘信息

 var locator = new ActiveXObject ("WbemScripting.SWbemLocator")

 var service = locator.ConnectServer(".")

 var properties = service.ExecQuery("SELECT * FROM Win32_FloppyDrive")

 var e = new Enumerator (properties)

 document.write("<table border=1>")

 for (!e.atEnd()e.moveNext ())

 {

var p = e.item ()

document.write("<tr>")

document.write("<td>" + p.Description + "</td>")

document.write("<td>" + p.DeviceID + "</td>")

document.write("<td>" + p.Status + "</td>")

document.write("<td>" + p.Manufacuturer + "</td>")

document.write("</tr>")

 }

 document.write("</table>")

}

function Button1_onclick() {//CD-ROM 信息

 var locator = new ActiveXObject ("WbemScripting.SWbemLocator")

 var service = locator.ConnectServer(".")

 var properties = service.ExecQuery("SELECT * FROM Win32_CDROMDrive")

 var e = new Enumerator (properties)

 document.write("<table border=1>")

 for (!e.atEnd()e.moveNext ())

 {

var p = e.item ()

document.write("<tr>")

document.write("<td>" + p.Caption + "</td>")

document.write("<td>" + p.Description + "</td>")

document.write("<td>" + p.Drive + "</td>")

document.write("<td>" + p.Status + "</td>")

document.write("<td>" + p.MediaLoaded + "</td>")

document.write("</tr>")

 }

 document.write("</table>")

}

function Button1_onclick() {//键盘信息

 var locator = new ActiveXObject ("WbemScripting.SWbemLocator")

 var service = locator.ConnectServer(".")

 var properties = service.ExecQuery("SELECT * FROM Win32_Keyboard")

 var e = new Enumerator (properties)

 document.write("<table border=1>")

 for (!e.atEnd()e.moveNext ())

 {

var p = e.item ()

document.write("<tr>")

document.write("<td>" + p.Description + "</td>")

document.write("<td>" + p.Name + "</td>")

document.write("<td>" + p.Status + "</td>")

document.write("</tr>")

 }

 document.write("</table>")

}

function Button1_onclick() {//主板信息

 var locator = new ActiveXObject ("WbemScripting.SWbemLocator")

 var service = locator.ConnectServer(".")

 var properties = service.ExecQuery("SELECT * FROM Win32_BaseBoard")

 var e = new Enumerator (properties)

 document.write("<table border=1>")

 for (!e.atEnd()e.moveNext ())

 {

var p = e.item ()

document.write("<tr>")

document.write("<td>" + p.HostingBoard + "</td>")

document.write("<td>" + p.Manufacturer + "</td>")

document.write("<td>" + p.PoweredOn + "</td>")

document.write("<td>" + p.Product + "</td>")

document.write("<td>" + p.SerialNumber + "</td>")

document.write("<td>" + p.Version + "</td>")

document.write("</tr>")

 }

 document.write("</table>")

}

//-->

</script>

</head>

 <body>

<INPUT id="Button1" type="button" value="Button"

name="Button1" language=javascript onclick="return Button1_onclick()">

 </body>

</html>

使用javascript方式获得客户端的信息主要的优点是,不需求服务器资源.不需求刷新网页.直接在客户端执行脚本获得显示.

在这上找到了硬盘序列号的参数:

\'获得硬盘序列号

Dim cmicWmi As New System.Management.ManagementObjectSearcher(\"SELECT * FROM Win32_DiskDrive\")

Dim Uint32 As UInt32

For Each cmicWmiObj As ManagementObject In cmicWmi.Get

Uint32 = cmicWmiObj(\"signature\")

Next

TextBox1.Text = Uint32.ToString

和在一块总算给提出来了,呵呵。

所以javascript可以通过ajax技术来获得后端语言得到的IP,并返回到前端。

1:通过java的servlet获取IP:

public String getRemoteAddress(HttpServletRequest request) {

String ip = request.getHeader("x-forwarded-for")

if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {

ip = request.getRemoteAddr()

}

return ip

}

如果是用反向代理技术的话request.getHeader("x-forwarded-for")会有值,

一般情况下,只要request.getRemoteAddr()就可以了。

2:获取MAC:

public String getMACAddress(String ip) {

String str = ""

String macAddress = ""

try {

Process p = Runtime.getRuntime().exec("nbtstat -a " + ip)

InputStreamReader ir = new InputStreamReader(p.getInputStream())

LineNumberReader input = new LineNumberReader(ir)

for (int i = 1i <100i++) {

str = input.readLine()

if (str != null) {

//if (str.indexOf("MAC Address") >1) {

if (str.indexOf("MAC") >1) {

macAddress = str.substring(

str.indexOf("=") + 2, str.length())

break

}

}

}

} catch (IOException e) {

e.printStackTrace(System.out)

}

return macAddress

}

通过命令nbtstat -a ip来获得该ip相对应的mac地址。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/242026.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存