当前位置:首页 > 服务器 > 正文

asp.net服务器ip(ASPNET服务器控件)

本篇文章给大家谈谈asp.net服务器ip,以及ASPNET服务器控件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

asp.net 怎么获取客户端真实 IP?

asp.net中获取客户端ip地址的两种方法

方法一:

/// summary

/// 获取用户登录IP

/// /summary

/// returns/returns

string GetIp()

{

//可以透过代理服务器

string userIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

if (userIP == null || userIP == "")

{

//没有代理服务器,如果有代理服务器获取的是代理服务器的IP

userIP = Request.ServerVariables["REMOTE_ADDR"];

}

return userIP;

}

方法二:(很抱歉,这种方法获取的是服务器端的IP)

//需要using System.Net;

string hostname = Dns.GetHostName();//服务器的用户名

Response.Write("HostName:"+hostname);

IPAddress[] address = Dns.GetHostAddresses(hostname);//获取服务器端IP列表,第一IP是address[0]

IPEndPoint ipendpoint = new IPEndPoint(address[0], 1234);

Response.Write("address:"+ipendpoint.Address.ToString());//输出IP:192.168.0.210,不是127.0.0.1

Response.Write("port:" + ipendpoint.Port.ToString());//输出1234

Response.Write("endpoint:" + ipendpoint.ToString());//输出的是192.168.0.210:1234

asp.net网站发布到服务器之后,获取的客户端IP都是127.0.0.1,为什么?

public string IPAddress()

        {

            string result = String.Empty;

            result = HttpContext.Current.Request.ServerVariables["HTTP_VIA"];

            if (!string.IsNullOrEmpty(result))

            {

                result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

                if (!string.IsNullOrEmpty(result))

                {

                    //可能有代理 

                    if (result.IndexOf(".") == -1) //没有"."肯定是非IPv4格式 

                        result = null;

                    else

                    {

                        if (result.IndexOf(",") = 0)

                        {

                            //有",",估计多个代理。取第一个不是内网的IP。 

                            result = result.Replace(" ", "").Replace("'", "").Replace(";", "");

                            string[] temparyip = result.Split(',');

                            for (int i = 0; i  temparyip.Length; i++)

                            {

                                if (IsIPAddress(temparyip[i]))

                                {

                                    if (!temparyip[i].StartsWith("10.")  !temparyip[i].StartsWith("192.168")  !temparyip[i].StartsWith("172.16."))

                                    {

                                        result = temparyip[i]; //找到不是内网的地址

                                        break;

                                    }

                                }

                            }

                        }

                        if (!IsIPAddress(result)) //代理即是IP格式 

                        {

                            result = null; //代理中的内容 非IP,取IP k

                        }

                    }

                }

            }

            else

            {

                result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

            }

            if (string.IsNullOrEmpty(result))

            {

                result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

            }

            if (string.IsNullOrEmpty(result))

            {

                result = HttpContext.Current.Request.UserHostAddress;

            }

            if (string.IsNullOrEmpty(result))

            {

                result = "000.000.000.000";

            }

            return result;

        }

asp.net如何获取服务器ip与mac地址

复制代码 代码示例:private void ButtonIP_Click(object sender, System.EventArgs e) { System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList; if ( addressList.Length1) { TextLIP.Text = addressList[0].ToString(); TextSIP.Text = addressList[1].ToString();}else{TextLIP.Text = addressList[0].ToString(); TextSIP.Text = "没有可用的连接";}}另一种获取服务器的IP地址与MAC地址的方法: 复制代码 代码示例:using System.Management; string stringMAC = ""; string stringIP = ""; ManagementClass MC = new ManagementClass "Win32_NetworkAdapterConfiguration"); ManagementObjectCollection MOC= MC.GetInstances(); foreach(ManagementObject MO in MOC){if ((bool)MO["IPEnabled"] == true){stringMAC += MO["MACAddress"].ToString(); TextMAC.Text = stringMAC.ToString(); string[] IPAddresses = (string[]) MO["IPAddress"]; if(IPAddresses.Length 0) stringIP = IPAddresses[0]; TextIP.Text = stringIP.ToString();}}获取客户端本机的IP地址的方法: 复制代码 代码示例:using System.Net; TextIP.Text=Page.Request.UserHostAddress;获取客户端本机的MAC地址刚复杂一些,需要调用两个API,用ARP协议获取,但也只能获取到同网段机器的MAC,对于跨网段的得利用IP扫描或cmd中nBTstat命令获取MAC地址。

ASP.NET中服务器端如何获取客户端的外网IP

public static IPAddress GetMyselfIP()

{

IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());

IPAddress ipAddr = ipHost.AddressList[0];

return ipAddr;

}

在客户端上运行这个方法能够获得客户端的IP,然后发到服务器端就成了

关于asp.net服务器ip和ASPNET服务器控件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

取消
扫码支持 支付码