如何在asp.net中获取IP地址

Posted

技术标签:

【中文标题】如何在asp.net中获取IP地址【英文标题】:How to get an ip address in asp.net 【发布时间】:2013-01-09 18:55:48 【问题描述】:

大家好,我正在尝试使用以下 c# 代码检索我的 IP 地址,但我得到的只是 127.0.0.0。 IP地址。当我输入我的 IP 地址时,我需要显示我的 IPA,就像在 google 搜索中显示的那样。 你能帮我吗?非常感谢

HttpContext.Current.Request.ServerVariables("REMOTE_ADDR")
Request.ServerVariables("REMOTE_HOST")
Request.UserHostAddress()
Request.UserHostName()


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

我也试过了,但它抛出异常“仅支持 ipv4”

【问题讨论】:

试试 Request.ServerVariables("HTTP_X_FORWARDED_FOR"),你在代理后面吗? 另外,如果您在本地机器上进行测试,那么环回地址就是您得到的。 感谢 GalactixCowboy,你是对的,我将它部署在我的虚拟主机上,它工作正常。你是真正的克林特伊斯特伍德 【参考方案1】:

您也可以尝试以下方法:

using System;

使用 System.Web;

namespace WebApplication1

 public class Global : HttpApplication

protected void Application_BeginRequest(object sender, EventArgs e)

    // Get request.
    HttpRequest request = base.Request;

    // Get UserHostAddress property.
    string address = request.UserHostAddress;

    // Write to response.
    base.Response.Write(address);

    // Done.
    base.CompleteRequest();


【讨论】:

以上是关于如何在asp.net中获取IP地址的主要内容,如果未能解决你的问题,请参考以下文章

如何从 ASP.NET 中的请求中获取 IP 地址?

如何在 ASP.NET MVC 中获取客户端的 IP 地址?

如何在 ASP.NET CORE 3.1 中获取客户端 IP 地址?

ASP.NET Core 3.1 - 如何获取客户端的 IP 地址?

在 ASP.NET 中获取服务器的 IP 地址?

用户运行托管 IIS 链接时如何在 asp.net 中获取客户端 IP 地址