コード例 #1
0
        public static RequestHostInfo GetRequestHostInfo(HttpRequestBase request)
        {
            var result = new RequestHostInfo
            {
                OSVersion = PFDataHelper.GetOSVersion(request), //ok
                Browser   = PFDataHelper.GetBrowser(request)
                                                                //,//,ok
                                                                //IPAddress = PFDataHelper.GetIPAddress(request),
                ,                                               //,ok
                IPAddress = request.UserHostAddress,
            };

            ////跨域访问时,这段代码报错:不知道这样的主机
            //string HostName = string.Empty;
            //string ip = string.Empty;
            //string ipv4 = String.Empty;

            //if (!string.IsNullOrEmpty(request.ServerVariables["HTTP_VIA"]))
            //    ip = Convert.ToString(request.ServerVariables["HTTP_X_FORWARDED_FOR"]);
            //if (string.IsNullOrEmpty(ip))
            //    ip = request.UserHostAddress;

            //// 利用 Dns.GetHostEntry 方法,由获取的 IPv6 位址反查 DNS 纪录,<br> // 再逐一判断何者为 IPv4 协议,即可转为 IPv4 位址。
            //foreach (IPAddress ipAddr in Dns.GetHostEntry(ip).AddressList)
            //{
            //    if (ipAddr.AddressFamily.ToString() == "InterNetwork")
            //    {
            //        ipv4 = ipAddr.ToString();
            //    }
            //}
            //result.HostName = Dns.GetHostEntry(ip).HostName;

            return(result);
            //HostName = "主机名: " + Dns.GetHostEntry(ip).HostName + " IP: " + ipv4;
        } /// <summary>