相关疑难解决方法(0)

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

我是ASP.NET MVC堆栈的新手,我想知道简单的Page对象和Request ServerVariables对象发生了什么?

基本上,我想提取客户端PC的IP地址,但我无法理解当前的MVC结构如何改变了所有这些.

据我所知,大多数变量对象已被HttpRequest变体所取代.

有人关心分享一些资源吗?ASP.NET MVC世界中有很多东西要学习.:)

例如,我有一个带有当前函数的静态类.如何使用ASP.NET MVC获得相同的结果?

public static int getCountry(Page page)
{
    return getCountryFromIP(getIPAddress(page));
}

public static string getIPAddress(Page page)
{
    string szRemoteAddr = page.Request.ServerVariables["REMOTE_ADDR"];
    string szXForwardedFor = page.Request.ServerVariables["X_FORWARDED_FOR"];
    string szIP = "";

    if (szXForwardedFor == null)
    {
        szIP = szRemoteAddr;
    }
    else
    {
        szIP = szXForwardedFor;

        if (szIP.IndexOf(",") > 0)
        {
            string [] arIPs = szIP.Split(',');

            foreach (string item in arIPs)
            {
                if (!isPrivateIP(item))
                {
                    return item;
                }
            }
        }
    }
    return szIP;
} …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc

303
推荐指数
5
解决办法
23万
查看次数

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

你能否告诉我如何在使用MVC 6时在ASP.NET中获取客户端IP地址Request.ServerVariables["REMOTE_ADDR"]不起作用.

c# asp.net-core-mvc asp.net-core

166
推荐指数
13
解决办法
9万
查看次数

获取远程主机的IP地址

在ASP.NET中有一个System.Web.HttpRequest类,它包含ServerVariables可以从REMOTE_ADDR属性值为我们提供IP地址的属性.

但是,我找不到类似的方法从ASP.NET Web API获取远程主机的IP地址.

如何获取发出请求的远程主机的IP地址?

c# asp.net-web-api

133
推荐指数
4
解决办法
8万
查看次数

如何获取IP地址?

我想获得在我的网站上注册的IP地址.如何在ASPNET中执行此操作.我使用了以下代码,但是,它没有获得正确的IP地址

string ipaddress = Request.UserHostAddress;
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net

52
推荐指数
4
解决办法
6万
查看次数

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

我一直试图解决这个问题,但在向所有服务器的asp.net中的页面发出请求时找不到可靠的方法来获取客户端IP地址.

c# asp.net ip-address

25
推荐指数
3
解决办法
4万
查看次数

如何在ASP.NET Core 2.1中获取客户端IP地址

我正在使用Microsoft Visual Studio 2017提供的Angular模板开发ASP.Net Core 2.1.我的客户端应用程序工作正常.在用户认证竞争之后,我想启动用户会话管理,其中我存储客户端用户IP地址.我已经在互联网上搜索过这个,但到目前为止还没有找到任何解决方案.

以下是我访问过的一些参考链接:

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

在ASP.NET Core 2.0中获取客户端IP地址

在ASP.Net Core中获取用户远程IP地址

在我的ValuesController.cs中,我也试过下面的代码:

private IHttpContextAccessor _accessor;

public ValuesController(IHttpContextAccessor accessor)
{
    _accessor = accessor;
}

public IEnumerable<string> Get()
{
    var ip = Request.HttpContext.Connection.RemoteIpAddress.ToString();
    return new string[] { ip, "value2" };
}
Run Code Online (Sandbox Code Playgroud)

其中ip变量我得到空值并得到此错误

Request.HttpContext.Connection.RemoteIpAddress.Address引发了Type'System.Net.Sockets.SocketException'的异常

在此输入图像描述

在此输入图像描述

你能告诉我如何在ASP.NET Core 2.1中获取客户端IP地址吗?

c# asp.net-core

22
推荐指数
4
解决办法
3万
查看次数

基于IP地址的用户登录限制是否支持ipv6用于Web应用程序?

有没有人知道如何根据c#dot net中的Web应用程序的IPV6地址限制用户登录?

我已经使用IPV4完成了这项功能并且工作正常,但我想根据用户的IPV6来限制用户的Web应用程序.

这可能吗?

.net c# authentication ipv6 ip-restrictions

11
推荐指数
1
解决办法
172
查看次数

阻止ASP.NET Web应用程序/网站中的IP地址列表

我有一组IP地址.

部署我的应用程序后,我希望只能从特定的IP地址访问我的应用程序.

如何使用Global.asax(而不是通过IIS)实现此目的?

asp.net web-applications

5
推荐指数
1
解决办法
956
查看次数

如何在asp.net中使用C#获取IP地址

我想在我的代码中获取访问者的公共 IP 地址。

我写了下面的代码来获取它:

        var context = System.Web.HttpContext.Current;
        string ip = String.Empty;

        if (context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
        {
            ip = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
        }
        else if (!String.IsNullOrWhiteSpace(context.Request.UserHostAddress))
        {
            ip = context.Request.UserHostAddress;                
        }

        if (ip == "::1")
            ip = "127.0.0.1";

        return ip;
Run Code Online (Sandbox Code Playgroud)

我没有得到确切的 IP 地址它返回的值如下:fe80::9419:dfb3:22ce:4e88%68但是当我在什么是我的 IP 中看到我的 IP 时它显示13.67.58.30。我将如何获得确切的 IP 地址?

c# asp.net ip

5
推荐指数
1
解决办法
6659
查看次数

客户端IP地址返回相同的内部网络地址

我正在尝试从ASP.NET MVC 5获取用户的IP地址.我已经查找了各种示例,例如:

它们都产生了相同的结果:用户被认为是网络的内部.我有朋友试试他们的手机(不在网络上).这是我最近的尝试:

private static Logger _logger = LogManager.GetCurrentClassLogger();
public static bool IsIpInternal()
{
    var ipAddress = HttpContext.Current.Request.UserHostAddress;
    var logEvent = new LogEventInfo(LogLevel.Info, _logger.Name, ipAddress);
    _logger.Log(logEvent);
    try
    {
        if (ipAddress != null)
        {
            var ipParts = ipAddress.Split(new[] { "." }, StringSplitOptions.RemoveEmptyEntries)
                .Select(int.Parse).ToArray();
            var isDebug = System.Diagnostics.Debugger.IsAttached;

            if (ipParts[0] == 10)
            {
                return true;
            }
        }
    }
    catch (Exception e)
    {
        logEvent = new LogEventInfo(LogLevel.Error, _logger.Name, e.Message);
        _logger.Log(logEvent);
        return false;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

显示10.xxx.xx.xxx所有请求的日志(基于日志).这是一个内部地址,而不是连接到Web应用程序的客户端的IP.在 …

c# asp.net-mvc

5
推荐指数
1
解决办法
636
查看次数

使用C#的客户端IP

如何在C#中获取客户端机器的IP地址.我想为我的在线应用程序保留一个日志寄存器,并保留日志系统的IP地址,我想获取客户端的IP地址....

预谢谢...

c# asp.net ip

3
推荐指数
2
解决办法
2万
查看次数

获取客户端IP地址的四种方式之间的差异

问:

我需要知道以下几点之间的区别:

Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ;


Request.ServerVariables["REMOTE_ADDR"];

System.Web.HttpContext.Current.Request.UserHostAddress;

System.Net.IPAddress[] strClientIPAddress = System.Net.Dns.GetHostAddresses(Environment.MachineName);
Run Code Online (Sandbox Code Playgroud)

我想获取客户端IP地址(访问该网站的用户),我对之前的方法感到困惑,哪一个更准确.

c# asp.net http ip-address .net-3.5

1
推荐指数
1
解决办法
2088
查看次数