Asp.net 正在尝试查找用户';远程IP地址

Asp.net 正在尝试查找用户';远程IP地址,asp.net,ip,Asp.net,Ip,我正在做一个ASP.NET项目,需要找到用户的远程IP地址。我四处搜索,发现了这个: Request.ServerVariables["REMOTE_ADDR"] 问题是它只返回“::1”,而不是IP地址。是否因为我使用本地服务器而出现问题?是的,这是因为您使用的是本地服务器 地址::1“是本地主机的IPv6地址 using System.Net; string host = Dns.GetHostName(); IPHostEntry ip = Dns.GetHostEntry(host);

我正在做一个ASP.NET项目,需要找到用户的远程IP地址。我四处搜索,发现了这个:

Request.ServerVariables["REMOTE_ADDR"]

问题是它只返回“::1”,而不是IP地址。是否因为我使用本地服务器而出现问题?

是的,这是因为您使用的是本地服务器

地址::1“是本地主机的IPv6地址

using System.Net;
string host = Dns.GetHostName();
IPHostEntry ip = Dns.GetHostEntry(host);
Console.WriteLine(ip.AddressList[1].ToString());

没有可靠的方法获取用户IP地址,因为可能会有很多代理服务器。您收到的结果对于localhost是正确的,但是如果客户端来自外部,则
REMOTE\u ADDR
将返回列表上的最后一个代理。有一个HTTP头列表,其中可能包含实际的IP地址,但也可能伪造这些地址。您可以阅读以下博文了解更多详细信息(您还应该阅读评论):