如何在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 MVC 中获取客户端的 IP 地址?
如何在 ASP.NET CORE 3.1 中获取客户端 IP 地址?