【问题标题】:How to get an ip address in asp.net如何在asp.net中获取IP地址
【发布时间】: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,你是对的,我将它部署在我的虚拟主机上,它工作正常。你是真正的克林特伊斯特伍德

标签: asp.net ip-address


【解决方案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();
}
}

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 2010-11-23
    • 2015-04-24
    • 2013-04-03
    • 2010-12-26
    相关资源
    最近更新 更多