我开发了网站。我需要获取站点访问者的IP。
我尝试使用Request,但是它只有内部IP:

Response.Write(Request.ServerVariables["REMOTE_ADDR"]);


我查看了服务器变量集合中的所有键-相同的结果:

foreach (string var in Request.ServerVariables)
{
    Response.Write(Request[var]);
}


我如何获得外部IP地址?

最佳答案

您可以使用它来获取外部(公共)IP地址。

public static string getExternalIp()
    {
        try
        {
            string externalIP;
            externalIP = (new WebClient()).DownloadString("http://checkip.dyndns.org/");
            externalIP = (new Regex(@"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"))
                         .Matches(externalIP)[0].ToString();
            return externalIP;
        }
        catch { return null; }
    }

10-05 21:31