在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#" /> 
+0

我认为有一种方法可以获取发出服务器请求的最后一个节点的MAC地址,但客户端MAC地址在HTTP请求中不可用。 – 2012-02-27 15:08:29

我没有做过这个个人,但这里有一个论坛讨论环节中,他们解释你如何能做到这http://www.raymondcamden.com/forums/messages.cfm?threadid=39CC3269-19B9-E658-9DD1131DAB233CA8否则这应该也http://tutorial17.learncf.com/