在ColdFusion中查找MAC地址
问题描述:
我们正在寻找一种方法在Coldfusion中查找客户端的MAC地址。在ColdFusion中查找MAC地址
有没有办法做到这一点?我们在JDK 1.6上使用CF 9,我相信它允许我们使用Java网络层,但我更愿意更接近CFML层。
答
无法获取客户端的MAC通过Java地址,因为它没有通过任何请求。如果您确实需要它,您需要在客户端运行一些代码。请参阅此处以获取更多信息:how to get a client's MAC address from HttpServlet?
您可以使用以上答案中引用的以下代码获取服务器的MAC地址。
<cfset LocalHost = CreateObject("java", "java.net.InetAddress").getLocalHost() />
<cfset Mac = CreateObject("java", "java.net.NetworkInterface").getByInetAddress(LocalHost).getHardWareAddress() />
<cfset MacAddress = '' />
<cfloop from="1" to="#ArrayLen(Mac)#" index="Pair">
<!--- Convert it to Hex, and only use the right two AFTER the conversion--->
<cfset NewPair = Right(FormatBaseN(Mac[ Pair ], 16), 2) />
<!--- If it's only one letter/string, pad it --->
<cfset NewPair = Len(NewPair) EQ 1 ? '0' & NewPair : NewPair />
<!--- Append NewPair --->
<cfset MacAddress &= UCase(NewPair) />
<!--- Add the dash --->
<cfif ArrayLen(Mac) NEQ Pair>
<cfset MacAddress &= '-' />
</cfif>
</cfloop>
<cfdump var="#MacAddress#" />
答
我没有做过这个个人,但这里有一个论坛讨论环节中,他们解释你如何能做到这http://www.raymondcamden.com/forums/messages.cfm?threadid=39CC3269-19B9-E658-9DD1131DAB233CA8否则这应该也http://tutorial17.learncf.com/
我认为有一种方法可以获取发出服务器请求的最后一个节点的MAC地址,但客户端MAC地址在HTTP请求中不可用。 – 2012-02-27 15:08:29