How to Get Client IP Address using Asp.Net C# - When our Project is Hosted in IIS

社会主义新天地 提交于 2020-01-26 04:15:13

问题


i am working in asp.net c#, in that i need to get client IP Address to display the client IP. i am hosting my project in IIS 7, using the static ip i can connect my application..

i have to fetch the client IP using the following code. but i can't get correct ip address..

every time i get this ip 192.168.1.18..

i use the following code

private void GetIP()
    {
       string userip = Request.UserHostAddress;
        if (Request.UserHostAddress != null)
        {
            Int64 macinfo = new Int64();
            string macsrc = macinfo.ToString("X");
            if (macsrc == "0")
            {
                if (userip == "127.0.0.1")
                {
                    //ScriptManager.RegisterStartupScript(this, GetType(), "Message", "alert('Visited Localhost')", true);
                    lblIPAddress.Text = userip;
                }
                else
                {
                    lblIPAddress.Text = userip;
                }
            }
        }            
    }

i am also using the following code also but it showing the hosted ip address like 192.168.1.5, where i am hosted my project in server..

public static string GetLocalIPAddress()
    {
        var host = Dns.GetHostEntry(Dns.GetHostName());
        foreach (var ip in host.AddressList)
        {
            //if (ip.AddressFamily == AddressFamily.InterNetwork)
            if (ip.AddressFamily != AddressFamily.InterNetworkV6)
            {
                return ip.ToString();
            }
        }
        throw new Exception("Local IP Address Not Found!");
    }

i need the correct client ip address, any one help


回答1:


try this :

string IP = Request.UserHostAddress;




回答2:


It was answered a while ago but theres a similar question here How to Get IP Address? which uses the HTTP_X_FORWARDED_FOR and REMOTE_ADDR request variables. We used this in a project recently and its been working fine



来源:https://stackoverflow.com/questions/41137640/how-to-get-client-ip-address-using-asp-net-c-sharp-when-our-project-is-hosted

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!