分类: 电脑/网络 >> 互联网
问题描述:
在线等待 =>> 在ASPNET怎样获取客户端的Mac网卡地址????
解析:
C# public static string GetMACAddressString()
{
ManagementClass class1 = new ManagementClass("Win32_NeorkAdapterConfiguration");
ManagementObjectCollection collection1 = class1GetInstances();
int num1 = 0;
StringBuilder builder1 = new StringBuilder();
using (ManagementObjectCollectionManagementObjectEnumerator enumerator1 = collection1GetEnumerator())
{
while (enumerator1MoveNext())
{
ManagementObject obj1 = enumerator1get_Current();
if ((bool) obj1get_Item("IPEnabled"))
{
if (num1 > 0)
{
builder1Append(''|'');
}
builder1Append(obj1get_Item("MacAddress")ToString());
num1++;
}
obj1Dispose();
}
}
return builder1ToString();
}
public String getMAC() { String mac = null; try { Process pro = RuntimegetRuntime()exec("cmdexe /c ipconfig/all"); InputStream is = progetInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String message = brreadLine(); int index = -1; while (message != null) { if ((index = messageindexOf("Physical Address")) > 0) { mac = messagesubstring(index + 36)trim(); break; } message = brreadLine(); } Systemoutprintln(mac); brclose(); prodestroy(); } catch (IOException e) { Systemoutprintln("Can't get mac address!"); return null; } return mac; }
MAC地址是不可以的,浏览器就拦击了,那个只是局域网内使用的。也就是许多通过路由器的广域网用户,根本就不把MAC地址传给WEB服务器,PHP程序是不可能获得的。
你要限制用户,只有使用证书,登录账户等方法实现。
以下代码实现浏览器中获取mac地址放入一个输入框或隐藏域,随登录信息一起提交到服务器。因为安全级别的关系可能会出现警告,可选择允许执行。长期使用的话建议用户将改站点加入信任站点或把安全级别调低。
<HTML><HEAD><TITLE>WMI Scripting HTML</TITLE>
<META >
java如何不使用>
import javanetInetAddress;
import javanetNetworkInterface;
/
@author:
@version:
@description:
/
public class Ipconfig {
public static void main(String[] args) throws Exception {
try {
InetAddress ia=InetAddressgetLocalHost();
String localname=iagetHostName();
String localip=iagetHostAddress();
Systemoutprintln("本机名称是:"+ localname);
Systemoutprintln("本机的ip是 :"+localip);
Systemoutprintln("MAC "+getMACAddress(ia));
} catch (Exception e) {
eprintStackTrace();
}
}
//获取MAC地址的方法
private static String getMACAddress(InetAddress ia)throws Exception{
//获得网络接口对象(即网卡),并得到mac地址,mac地址存在于一个byte数组中。
byte[] mac = NetworkInterfacegetByInetAddress(ia)getHardwareAddress();
//下面代码是把mac地址拼装成String
StringBuffer sb = new StringBuffer();
for(int i=0;i<maclength;i++){
if(i!=0){
sbappend("-");
}
//mac[i] & 0xFF 是为了把byte转化为正整数
String s = IntegertoHexString(mac[i] & 0xFF);
sbappend(slength()==10+s:s);
}
//把字符串所有小写字母改为大写成为正规的mac地址并返回
return sbtoString()toUpperCase();
}
}
以上就是关于在线等待 =>> 在ASP.NET怎样获取客户端的Mac网卡地址全部的内容,包括:在线等待 =>> 在ASP.NET怎样获取客户端的Mac网卡地址、Java代码如何获取客户端的MAC地址、php怎么获取客户端的mac地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)