c# 获取客户端ip、mac、机器名、操作系统、浏览器信息
d
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; using System.Text;
using System.Runtime.InteropServices; /// <summary>
///NetHelper 的摘要说明
/// </summary>
public class NetHelper
{
public NetHelper()
{ } public static string GetBrowserType()
{
return HttpContext.Current.Request.Browser.Type;
} public static string GetSysVersion()
{
string Agent = HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"]; if (Agent.IndexOf("NT 4.0") > )
{
return "Windows NT ";
}
else if (Agent.IndexOf("NT 5.0") > )
{
return "Windows 2000";
}
else if (Agent.IndexOf("NT 5.1") > )
{
return "Windows XP";
}
else if (Agent.IndexOf("NT 5.2") > )
{
return "Windows 2003";
}
else if (Agent.IndexOf("NT 6.0") > )
{
return "Windows Vista";
}
else if (Agent.IndexOf("WindowsCE") > )
{
return "Windows CE";
}
else if (Agent.IndexOf("NT") > )
{
return "Windows NT ";
}
else if (Agent.IndexOf("9x") > )
{
return "Windows ME";
}
else if (Agent.IndexOf("") > )
{
return "Windows 98";
}
else if (Agent.IndexOf("") > )
{
return "Windows 95";
}
else if (Agent.IndexOf("Win32") > )
{
return "Win32";
}
else if (Agent.IndexOf("Linux") > )
{
return "Linux";
}
else if (Agent.IndexOf("SunOS") > )
{
return "SunOS";
}
else if (Agent.IndexOf("Mac") > )
{
return "Mac";
}
else if (Agent.IndexOf("Linux") > )
{
return "Linux";
}
else if (Agent.IndexOf("Windows") > )
{
return "Windows";
}
return "unknow"; } /// <summary>
/// 如果有代理那么越过代理直接取值
/// </summary>
/// <returns></returns>
public static string GetClientIp()
{
if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
else
return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
} public static string GetHostName(string ipStr)
{ string hostName = string.Empty;
try
{
System.Net.IPAddress ip = System.Net.IPAddress.Parse(ipStr);
System.Net.IPHostEntry host = System.Net.Dns.GetHostEntry(ip);
hostName = host.HostName;
}
catch
{ }
return hostName;
} [DllImport("Iphlpapi.dll")]
static extern int SendARP(Int32 DestIP, Int32 SrcIP, ref Int64 MacAddr, ref Int32 PhyAddrLen);
[DllImport("Ws2_32.dll")]
static extern Int32 inet_addr(string ipaddr);
/// <summary>
/// SendArp获取MAC地址
/// </summary>
/// <param name="RemoteIP">目标机器的IP地址如(192.168.1.1)</param>
/// <returns>目标机器的mac 地址</returns>
public static string getMacAddr_Remote(string RemoteIP)
{
StringBuilder macAddress = new StringBuilder();
try
{
Int32 remote = inet_addr(RemoteIP);
Int64 macInfo = new Int64();
Int32 length = ;
SendARP(remote, , ref macInfo, ref length);
string temp = Convert.ToString(macInfo, ).PadLeft(, '').ToUpper();
int x = ;
for (int i = ; i < ; i++)
{
if (i == )
{
macAddress.Append(temp.Substring(x - , ));
}
else
{
macAddress.Append(temp.Substring(x - , ) + "-");
}
x -= ;
}
return macAddress.ToString();
}
catch
{
return macAddress.ToString();
}
}
}
程序员的基础教程:菜鸟程序员
c# 获取客户端ip、mac、机器名、操作系统、浏览器信息的更多相关文章
- asp.net获取客户端IP,Mac
public class GetClientInfo { [DllImport("Iphlpapi.dll")] private static extern int SendARP ...
- JS获取客户端IP地址、MAC和主机名七种方法
一.使用JS获取客户端IP的几个方法方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000).获取客户端IP代码:<HTML><HEAD ...
- JS获取客户端IP地址、MAC和主机名的7个方法汇总
今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本. ...
- JS获取客户端IP地址、MAC和主机名【转】
JS获取客户端IP地址.MAC和主机名 引用:JS获取客户端IP地址.MAC和主机名的7个方法汇总 利用搜狐接口 <html> <head> <meta http-equ ...
- JAVA获取客户端IP地址和MAC地址
1.获取客户端IP地址 public String getIp(HttpServletRequest request) throws Exception { String ip = request.g ...
- 获取客户端网卡MAC地址和IP地址实现JS代码
获取客户端网卡MAC地址和IP地址实现JS代码 作者: 字体:[增加 减小] 类型:转载 获取客户端的一些信息,如IP和MAC,以结合身份验证,相信很多人都会这样做吧,我们这里用Javascrip ...
- ASP.NET获取客户端IP及MAC地址
朋友最近问如何获取客户端IP及MAC地址,一直想把这段给整理一下,契机来了:下边分为了C#后台获取的方法和前台Javascript(调用ActiveX)获取的方法,大家如果有好的方法一起讨论撒O(∩_ ...
- ASP.NET获取客户端信息,获取客户端IP等等
山上明月 ASP.NET能知道的东西 获取服务器电脑名: Page.Server.ManchineName 获取用户信息: Page.User 获取客户端电脑名:Page.Request.UserHo ...
- JAVA获取客户端IP地址
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...
- C# WebApi 获取客户端ip地址
转自:http://www.cnblogs.com/weixing/p/5674078.html References required: HttpContextWrapper - System.We ...
随机推荐
- 9.9 Python 文档字符串
9.9 Python 文档字符串. 进入 Python 标准库所在的目录. 检查每个 .py 文件看是否有__doc__ 字符串, 如果有, 对其格式进行适当的整理归类. 你的程序执行完毕后, 应该会 ...
- 【学习笔记】Manacher算法
本文部分图片来源 代码来源(代码是学姐哒.. 一.引入 Manacher算法是用来求最长回文子串的算法,时间复杂度O(n). 回文子串指的是''aacaa'',''noon'',这种正着反着读都一样的 ...
- Six Basic Functional Areas of Spring
- 洛谷 1155 (NOIp2008)双栈排序——仔细分析不合法的条件
题目:https://www.luogu.org/problemnew/show/P1155 这道题教会我们要多思考. 好好分析过后发现同一个栈里不能有升序.就用它写了一个30分. #include& ...
- dx工具(android将jar包转成dex格式二进制jar包工具)
博客分类: android 时钟 dx工具二进制jar包 好吧,不得不承认这个工具真心难找,也不知道自己sdk里以前怎么就有了,还好给了师傅一份,现在重装系统从网上找这个工具都找不到. 将platf ...
- 让你的 Nginx 的 RTMP 直播具有统计某频道在线观看用户数量的功能
你的 Nginx 已经有了 RTMP 直播功能的话,如果你还想统计某直播频道当前观看用户量的话,可以加入 with-http_xslt_module 模块.具体步骤如下: 1.查看原来的 ...
- python3+ros+telnet+telnetlib
利用python3的telnetlib模块 远程登录ros,输入帐号密码,然后执行命令,并导出结果到txt文本: 不过实际操作这种方式不行,因为telnet导出来的文本文件,带颜色编码,根本无法看哦. ...
- php爬虫神器cURL
cURL 网页资源(编写网页爬虫) 接口资源 ftp服务器文件资源 其他资源 static public function curl($url, $data = array(), $timeout = ...
- 转:oracle常见重要视图-v$sql,v$sql_plan,v$sqltext,v$sqlarea,v$sql_plan_statistcs
v$sql V$SQL中存储具体的SQL语句. 一条语句可以映射多个cursor,因为对象所指的cursor可以有不同用户(如例1).如果有多个cursor(子游标)存在,在V$SQLAREA为所有c ...
- Excel开发学习笔记:根据工作表worksheet内容控制按钮的状态
开发环境基于VSTO,具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 在Ribbon工具栏中有2个功能按钮,它们是否可用取决于workshe ...