如何使用 JavaScript 获取客户端系统详细信息

问题描述 投票:0回答:4

我正在尝试获取客户端系统详细信息,我尝试获取数据 IP 地址、国家/地区、州、位置等。但是,我仍然需要更多信息,例如...客户端系统名称、客户端操作系统和客户端时间戳。我如何使用 Javascript 获取所有这些信息。

代码:

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title>Get User Details IP Address, city, country, state, latitude, longitude </title>
    <script src="http://code.jquery.com/jquery-1.8.2.js" type="text/javascript"></script>
    <script type="text/javascript">
        var strip, strcountry, strcity, strregion, strlatitude, strlongitude, strtimezone

        function GetUserInfo(data) {
            alert(data.hostname);
            strip = data.host;
            strcountry = data.countryName;
            strcity = data.city;
            strregion = data.region;
            strlatitude = data.latitude;
            strlongitude = data.longitude;
            strtimezone = data.timezone;
        }
        $(function() {
            BindUserInfo();
        })

        function BindUserInfo() {
            document.getElementById('lblIP').value = strip;
            document.getElementById('lblCountry').value = strcountry;
            document.getElementById('lblCity').value = strcity;
            document.getElementById('lblregion').value = strregion;
            document.getElementById('lbllatitude').value = strlatitude;
            document.getElementById('lbllongitude').value = strlongitude;
            document.getElementById('lbltimezone').value = strtimezone;
        }
    </script>
    <script type="text/javascript" src="http://smart-ip.net/geoip-json?callback=GetUserInfo"></script>
</head>

<body>
    <div>
        <table>
            <tr>
                <td>
                    <input type="text" id="lblIP" value="" />
                    <input type="text" id="lblCountry" value="" />
                    <input type="text" id="lblCity" value="" />
                    <input type="text" id="lblregion" value="" />
                    <input type="text" id="lbllatitude" value="" />
                    <input type="text" id="lbllongitude" value="" />
                    <input type="text" id="lbltimezone" value="" />
                </td>
            </tr>
        </table>
    </div>
</body>

</html>
javascript html
4个回答
3
投票

客户端操作系统:

String userAgent = request.getHeader("User-Agent");

您可以从此网站获取所有用户代理值的完整列表,http://www.user-agents.org/

Javascript 方式:

var OSName="Unknown OS";

if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";

if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";

if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";

if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";

并将 OSName 变量发送回服务器。


0
投票

客户端系统名称:

“有时”您可以使用 IE 来完成此操作,因为我已经在只有 IE 的 Intranet 上的内部应用程序中完成了此操作。尝试以下操作:

function GetComputerName()

{

    try
    {
        var network = new ActiveXObject('WScript.Network');
        // Show a pop up if it works
        alert(network.computerName);
    }
    catch (e) { }
}

它可能需要也可能不需要在 IE 中进行一些特定的安全设置,以允许浏览器访问 ActiveX 对象。


0
投票

如果您认为很复杂,可以使用 Fingerprintjs 库,它包含大部分信息,请尝试 device-uuid npm 包

`var du = new DeviceUUID().parse();

            var dua = [
                du.language,
                du.platform,
                du.os,
                du.cpuCores,
                du.isAuthoritative,
                du.silkAccelerated,
                du.isKindleFire,
                du.isDesktop,
                du.isMobile,
                du.isTablet,
                du.isWindows,
                du.isLinux,
                du.isLinux64,
                du.isMac,
                du.isiPad,
                du.isiPhone,
                du.isiPod,
                du.isSmartTV,
                du.pixelDepth,
                du.isTouchScreen,
                du.browser,
                du.version,
                du.source,
                du.isBot
            ];


            var allData = dua.concat(ip.ip);

            var uuid = du.hashMD5(allData.join(':'));

            this.setDeviceUUID(uuid);

`


-2
投票

客户端时间戳:

在 JavaScript 中?只需实例化一个新的 Date 对象 现在=新日期(); 这将使用客户端的本地时间创建一个新的 Date 对象。

© www.soinside.com 2019 - 2024. All rights reserved.