在web程序中,如何获取客户端的ip地址? 在web程序中,如何获取客户端的ip地址?有相关的代码吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样可以吗?Request.UserHostAddress.ToString(); 1. 在ASP.NET中专用属性: 获取服务器电脑名:Page.Server.ManchineName 获取用户信息:Page.User 获取客户端电脑名:Page.Request.UserHostName 获取客户端电脑IP:Page.Request.UserHostAddress 2. 在网络编程中的通用方法: 获取当前电脑名:static System.Net.Dns.GetHostName() 根据电脑名取出全部IP地址:static System.Net.Dns.Resolve(电脑名).AddressList 也可根据IP地址取出电脑名:static System.Net.Dns.Resolve(IP地址).HostName 3. 系统环境类的通用属性: 当前电脑名:static System.Environment.MachineName 当前电脑所属网域:static System.Environment.UserDomainName 当前电脑用户:static System.Environment.UserName 举例子来说明: using System.Net; private void ButtonIP_Click(object sender, System.EventArgs e) { System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList; if (addressList.Length>1) { TextLIP.Text = addressList[0].ToString(); TextSIP.Text = addressList[1].ToString(); } else { TextLIP.Text = addressList[0].ToString(); TextSIP.Text = "没有可用的连接"; } } string userip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();if (userip.Length == 0){ userip = Request.ServerVariables["REMOTE_ADDR"].ToString(); } Request.UserHostAddress.ToString().Trim(); string user_ip; user_ip = Request.ServerVariables.Get("REMOTE_ADDR").ToString(); //<==> user_ip = Request.ServerVariables["REMOTE_ADDR"].ToString(); Response.Write(user_ip);方法二:Response.Write (Request.UserHostAddress);或者:Response.Write (Request.UserHostName);以上有时并不准确,因为有的使用代理服务器,那样的话,取的将是代理服务器的ip地址!下面是做判断的:if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] == null) Response.Write (Request.ServerVariables["REMOTE_ADDR"].ToString());else Response.Write (Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString()); 上下文对象 关于控件外观的问题 winform+sql2000打包时关于路径的问题 c#打包时序列号问题 为什么没有system.data.oracle groupbox 里动态添加checkbox的问题 请问使用C#.NET获取PCI-E的数据 怎么捕获不到axWebBrowser1.GoBack();的错误呀 关于文件排序的问题 ArcEngine如何直接修改要素的x,y坐标 树视图(treeview控件)能否和 xml文件的节点与属性 动态关联 / xml关联 Socket和TcpClient怎样才能知道跟对方断开了没有?没人知道吗?
获取服务器电脑名:Page.Server.ManchineName
获取用户信息:Page.User
获取客户端电脑名:Page.Request.UserHostName
获取客户端电脑IP:Page.Request.UserHostAddress
2. 在网络编程中的通用方法:
获取当前电脑名:static System.Net.Dns.GetHostName()
根据电脑名取出全部IP地址:static System.Net.Dns.Resolve(电脑名).AddressList
也可根据IP地址取出电脑名:static System.Net.Dns.Resolve(IP地址).HostName
3. 系统环境类的通用属性:
当前电脑名:static System.Environment.MachineName
当前电脑所属网域:static System.Environment.UserDomainName
当前电脑用户:static System.Environment.UserName 举例子来说明: using System.Net;
private void ButtonIP_Click(object sender, System.EventArgs e)
{
System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
if (addressList.Length>1)
{
TextLIP.Text = addressList[0].ToString();
TextSIP.Text = addressList[1].ToString();
}
else
{
TextLIP.Text = addressList[0].ToString();
TextSIP.Text = "没有可用的连接";
}
}
if (userip.Length == 0)
{
userip = Request.ServerVariables["REMOTE_ADDR"].ToString();
}
user_ip = Request.ServerVariables.Get("REMOTE_ADDR").ToString();
//<==> user_ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
Response.Write(user_ip);方法二:
Response.Write (Request.UserHostAddress);
或者:
Response.Write (Request.UserHostName);以上有时并不准确,因为有的使用代理服务器,那样的话,取的将是代理服务器的ip地址!
下面是做判断的:
if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] == null)
Response.Write (Request.ServerVariables["REMOTE_ADDR"].ToString());
else
Response.Write (Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString());