如何获取用户浏览器详细信息,IP地址和位置信息?

时间:2016-09-30 11:09:31

标签: javascript asp.net browser geolocation ip-address

我需要帮助获取用户浏览器信息,IP地址和GEO位置。我们正在开发asp.net应用程序,我们需要上述信息来跟踪他/她使用浏览器/ IP信息访问应用程序的位置的用户信息。以下是我们需要和需要存储在应用程序数据库中的详细信息。

  
      
  1. 浏览器信息/版本
  2.   
  3. 操作系统
  4.   
  5. 设备(桌面/笔记本电脑/平板电脑/手机)
  6.   
  7. IP地址
  8.   
  9. 国家/地区代码/国家/地区名称
  10.   
  11.   
  12. 区域
  13.   

是否可以从一次来源获取所有信息?我搜索了这些并建议使用第三方API来获取基于IP地址的地理信息,无论API是否可靠使用这些应用程序。有没有最好的方法来构建自己的API来获取此信息以及如何?请指教。

2 个答案:

答案 0 :(得分:1)

尝试以下javascript功能,这将返回浏览器名称和浏览器版本。

function get_browser()
{
    var ua = navigator.userAgent, tem,
    M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) ||[];

    if (/trident/i.test(M[1]))
    {
        tem = /\brv[ :]+(\d+)/g.exec(ua) || [];
        return { name: 'IE', version: (tem[1] || '') };
                                                        }
        if (M[1] === 'Chrome')
        {
            tem = ua.match(/\bOPR\/(\d+)/)

            if (tem != null)
            {
                return { name: 'Opera', version: tem[1] }; 
            }
        }

    M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];
    if ((tem = ua.match(/version\/(\d+)/i)) != null)
    {
        M.splice(1, 1, tem[1]);
    }

    return {
        name: M[0],
        version: M[1]
    };
}

答案 1 :(得分:0)

只是因为其他人可能需要更短的方式来完成问题中提到的任务,他们可以使用下面的代码;

<div id="demo"></div>
<script type="text/javascript">
    var txt = "";
    txt += "<p> Browser CodeName: <strong>"+navigator.appCodeName+" </strong></p>";
    txt += "<p> Browser Name: <strong>"+navigator.appName+"</strong></p>";
    txt += "<p> Browser Version: <strong>"+navigator.appVersion+"</strong></p>";
    txt += "<p> Cookies Enabled: <strong>"+navigator.cookieEnabled+"</strong></p>";
    txt += "<p> Browser Online: <strong>"+navigator.onLine+"</strong></p>";
    txt += "<p> Language: <strong>"+navigator.language+"</strong></p>";
    txt += "<p> Platform: <strong>"+navigator.platform+"</strong></p>";
    txt += "<p> User-agent Header: <strong>"+navigator.userAgent+"</strong></p>";
    document.getElementById("demo").innerHTML=txt;
</script>