我們正在尋找一種方法在Coldfusion中查找客戶端的MAC地址。在ColdFusion中查找MAC地址
有沒有辦法做到這一點?我們在JDK 1.6上使用CF 9,我相信它允許我們使用Java網絡層,但我更願意更接近CFML層。
我們正在尋找一種方法在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