当前位置:首页 » 云服务器 » aspnet获取服务器ip

aspnet获取服务器ip

发布时间: 2022-01-16 12:53:29

‘壹’ asp.net 获取服务器信息

using System.Management;

string stringMAC = "";

string stringIP = "";

ManagementClass MC = new ManagementClass "Win32_NetworkAdapterConfiguration");

ManagementObjectCollection MOC= MC.GetInstances();

foreach(ManagementObject MO in MOC)

{

if ((bool)MO["IPEnabled"] == true)

{

stringMAC += MO["MACAddress"].ToString();

TextMAC.Text = stringMAC.ToString();

string[] IPAddresses = (string[]) MO["IPAddress"];

if(IPAddresses.Length > 0)

stringIP = IPAddresses[0];

TextIP.Text = stringIP.ToString();

}

}
另外,虚机团上产品团购,超级便宜

‘贰’ ASP.NET 怎么获取客户端的外网IP地址,急~

在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址。

要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取。

不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的IP。

还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVariables ("HTTP_X_FORWARDED_FOR") 取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理:
......
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
......

//方法一
HttpContext.Current.Request.UserHostAddress;

//方法二
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

//方法三
string strHostName = System.Net.Dns.GetHostName();
string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();

//方法四(无视代理)
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

客户端:

//方法五
var ip = '<!--#echo var="REMOTE_ADDR"-->';
alert("Your IP address is "+ip);

//方法六(无视代理)
function GetLocalIPAddress()
{
var obj = null;
var rslt = "";
try
{
obj = new ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
obj = null;
}
catch(e)
{
//
}

return rslt;
}

来自印度的MCT Maulik Patel提供了一种服务端的解决方案,很好:

if(Context.Request.ServerVariables["HTTP_VIA"]!=null) // 服务器, using proxy
{
得到真实的客户端地址
ip=Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); // Return real client IP.
}
else//如果没有使用代理服务器或者得不到客户端的ip not using proxy or can't get the Client IP
{

得到服务端的地址
ip=Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.
}
有些客户端会因为“header_access deny”的安全设置而不发给我们Ip

‘叁’ asp.net 怎么获取客户端真实 IP

asp.net中获取客户端ip地址的两种方法方法一:/// <summary /// 获取用户登录IP /// </summary /// <returns</returns string GetIp(){//可以透过代理服务器 string userIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (userIP == null || userIP == ""){//没有代理服务器,如果有代理服务器获取的是代理服务器的IP userIP = Request.ServerVariables["REMOTE_ADDR"];}return userIP;}方法二:(很抱歉,这种方法获取的是服务器端的IP) //需要using System.Net; string hostname = Dns.GetHostName();//服务器的用户名 Response.Write("HostName:"+hostname); IPAddress[] address = Dns.GetHostAddresses(hostname);//获取服务器端IP列表,第一IP是address[0] IPEndPoint ipendpoint = new IPEndPoint(address[0], 1234);

‘肆’ ASP.NET 页面登录时获取IP地址。【要所有的方法、】

你可以参考以下的代码试试

/// <summary>
/// 获取远程访问用户的Ip地址
/// </summary>
/// <returns>返回Ip地址</returns>
protected string GetLoginIp()
{
string loginip = "";
//Request.ServerVariables[""]--获取服务变量集合
if (Request.ServerVariables["REMOTE_ADDR"] != null) //判断发出请求的远程主机的ip地址是否为空
{
//获取发出请求的远程主机的Ip地址
loginip = Request.ServerVariables["REMOTE_ADDR"].ToString();
}
//判断登记用户是否使用设置代理
else if (Request.ServerVariables["HTTP_VIA"] != null)
{
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
{
//获取代理的服务器Ip地址
loginip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
else
{
//获取客户端IP
loginip = Request.UserHostAddress;
}
}
else
{
//获取客户端IP
loginip = Request.UserHostAddress;
}
return loginip;
}

‘伍’ ASP.NET怎么可以获取的IP代码

在 ASP 中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的 IP 地址,但如果客户端是使用代理服务
器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实
IP 地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取。
不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。
还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVariables
("HTTP_X_FORWARDED_FOR") 取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理:
......
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
......

即:如果客户端通过代理服务器,则取 HTTP_X_FORWARDED_FOR 的值,如果没通过代理服务器,就取 REMOTE_ADDR 的值。

‘陆’ asp.net怎么获取服务器端得到访问者的外网IP

Request.UserHostAddress

在controller的action中直接用这个获取用户的公网IP。

‘柒’ asp.net网站发布到服务器之后,获取的客户端IP都是127.0.0.1,为什么

publicstringIPAddress()
{
stringresult=String.Empty;
result=HttpContext.Current.Request.ServerVariables["HTTP_VIA"];
if(!string.IsNullOrEmpty(result))
{
result=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if(!string.IsNullOrEmpty(result))
{
//可能有代理
if(result.IndexOf(".")==-1)//没有"."肯定是非IPv4格式
result=null;
else
{
if(result.IndexOf(",")>=0)
{
//有",",估计多个代理。取第一个不是内网的IP。
result=result.Replace("","").Replace("'","").Replace(";","");
string[]temparyip=result.Split(',');
for(inti=0;i<temparyip.Length;i++)
{
if(IsIPAddress(temparyip[i]))
{
if(!temparyip[i].StartsWith("10.")&&!temparyip[i].StartsWith("192.168")&&!temparyip[i].StartsWith("172.16."))
{
result=temparyip[i];//找到不是内网的地址
break;
}
}
}
}
if(!IsIPAddress(result))//代理即是IP格式
{
result=null;//代理中的内容非IP,取IPk
}
}
}
}
else
{
result=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if(string.IsNullOrEmpty(result))
{
result=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if(string.IsNullOrEmpty(result))
{
result=HttpContext.Current.Request.UserHostAddress;
}
if(string.IsNullOrEmpty(result))
{
result="000.000.000.000";
}
returnresult;
}

‘捌’ asp.net怎么获取客户端的IP地址,不是服务器的ip

if HttpContext.Current.Request.UserHostAddress 为空
else

HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

‘玖’ asp.net怎么获取当前登录用户的ip地址

你用本机测试肯定会是127.0.0.1 的 即使修改了host里面的也不行 换台电脑试试就行了

热点内容
电脑下载配置错误是什么意思 发布:2024-10-18 18:17:11 浏览:503
这可不是爱ftp 发布:2024-10-18 18:16:15 浏览:808
可区分存储单元中存放的是指令还是数据 发布:2024-10-18 17:57:26 浏览:886
java中return返回值 发布:2024-10-18 17:57:11 浏览:560
安卓换苹果主题对手机有什么影响 发布:2024-10-18 17:49:11 浏览:117
华易数据库 发布:2024-10-18 17:48:05 浏览:358
概率题算法 发布:2024-10-18 17:44:30 浏览:421
可以写源码的文本编译器 发布:2024-10-18 17:44:29 浏览:282
100到200素数c语言 发布:2024-10-18 17:38:20 浏览:181
有钱还众筹源码 发布:2024-10-18 17:33:13 浏览:213