C# 用户IP地址,是否使用代理
请参阅以下代码:C# 用户IP地址,是否使用代理,c#,asp.net,proxy,ip-address,C#,Asp.net,Proxy,Ip Address,请参阅以下代码: private string GetUserIPAddress() { string User_IPAddress = string.Empty; string User_IPAddressRange = Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (string.IsNullOrEmpty(User_IPAddressRange))//without P
private string GetUserIPAddress()
{
string User_IPAddress = string.Empty;
string User_IPAddressRange = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(User_IPAddressRange))//without Proxy detection
{
User_IPAddress = Request.ServerVariables["REMOTE_ADDR"];
//or
//Client_IPAddress = Request.UserHostAddress;
//or
//User_IPAddress = Request.ServerVariables["REMOTE_HOST"];
}
else////with Proxy detection
{
string[] splitter = { "," };
string[] IP_Array = User_IPAddressRange.Split(splitter,
System.StringSplitOptions.None);
int LatestItem = IP_Array.Length - 1;
User_IPAddress = IP_Array[LatestItem - 1];
//User_IPAddress = IP_Array[0];
}
return User_IPAddress;
}
在以下情况下:1-
User\u IPAddress=Request.ServerVariables[“REMOTE\u ADDR”]代码>
和
Client\u IPAddress=Request.UserHostAddress代码>
和
User\u IPAddress=Request.ServerVariables[“远程主机”]代码>
下一行或中间行是其他行的替代行吗?
您能给我们解释一下这些线路吗?
有什么区别
2-
User_IPAddress=IP_数组[LatestItem-1]代码>
和
User\u IPAddress=IP\u数组[0]代码>
我应该使用哪一行?
请您解释一下这些行好吗?我不知道类,但可能是Request.UserHostAddress是Request.ServerVariables[“REMOTE\u ADDR”]的别名。此外,远程主机将是主机名,但在大多数情况下,将只是ipaddress
X-Forwarded-For的格式为client1、proxy1、proxy2。所以你想要第二个。User_IPAddress=IP_数组[0]
请记住“合并问题,请不要删除此问题。