<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<!-- <script src="js/qs.min.js"></script> -->
<script src="https://cdn.staticfile.org/fingerprintjs2/2.1.0/fingerprint2.min.js"></script>
</head>
<body>
<div id="box">
<p id="text">获取设备指纹信息</p>
</div>
</body>
<script>
function start () {
let excludes = {};
excludes.userAgent = false;
excludes.audio = false;
excludes.enumerateDevices = false;
excludes.fonts = false;
excludes.fontsFlash = false;
excludes.webgl = false;
excludes.canvas = true;
let options = { excludes: excludes }
// const getInfo =
Fingerprint2.get(options, function (components) {
// 参数
var e = document.createElement("canvas");
// var params = new FormData()
var params = {}
// params.append("invite_code", "2222")
if (e && "function" == typeof e.getContext) for (var t = ["webgl", "webgl2", "experimental-webgl2", "experimental-webgl"], n = 0; n < t.length; n++) {
var a = t[n],
r = e.getContext(a);
if (r) {
var o = {};
o.context = a,
o.version = r.getParameter(r.VERSION),
o.vendor = r.getParameter(r.VENDOR),
o.sl_version = r.getParameter(r.SHADING_LANGUAGE_VERSION),
o.max_texture_size = r.getParameter(r.MAX_TEXTURE_SIZE);
var i = r.getExtension("WEBGL_debug_renderer_info");
// console.log(o);
params.webgl_context = o.context
params.webgl_max_texture_size = o.max_texture_size
params.webgl_renderer = o.renderer
params.webgl_sl_version = o.sl_version
params.webgl_vendor = o.vendor
params.webgl_version = o.version
// params.append("webgl_context", o.context)
// params.append("webgl_max_texture_size", o.max_texture_size)
// params.append("webgl_renderer", o.renderer)
// params.append("webgl_sl_version", o.sl_version)
// params.append("webgl_vendor", o.vendor)
// params.append("webgl_version", o.version)
}
}
const values = components.map(function (component) {
return component.value
});
// 指纹
const murmur = Fingerprint2.x64hash128(values.join(''), 31);
let obj = {}
components.map(item => {
obj[item.key] = item.value
})
params.device_hash = ''
params.webgl = obj.webgl.join(',')
params.webgl_hash = murmur
params.plugins = obj.plugins.length ? obj.plugins.join(',') : ''
params.user_agent = obj.userAgent
params.language = obj.language
params.color_depth = obj.colorDepth
params.device_memory = obj.deviceMemory
params.pixel_ratio = obj.pixelRatio
params.hardware_concurrency = obj.hardwareConcurrency
params.screen_width = obj.screenResolution[1]
params.screen_height = obj.screenResolution[0]
params.available_screen_width = obj.availableScreenResolution[1]
params.available_screen_height = obj.availableScreenResolution[0]
params.timezone_offset = obj.timezoneOffset
params.timezone = obj.timezone
params.platform = obj.platform
params.os = navigator.platform
params.touch_support = obj.touchSupport.length ? obj.touchSupport.join(',') : ""
params.fonts = obj.fonts.join(',')
params.audio = obj.audio
params.device_hash = ''
params.invite_code = '111'
// params.append("device_hash",'')
// params.append("webgl", obj.webgl.join(','))
// params.append("webgl_hash", murmur)
// params.append("plugins",obj.plugins.join(','))
// params.append("user_agent", obj.userAgent)
// params.append("language", obj.language)
// params.append("color_depth", obj.colorDepth)
// params.append("device_memory", obj.deviceMemory)
// params.append("pixel_ratio", obj.pixelRatio)
// params.append("screen_width", obj.screenResolution[1])
// params.append("hardware_concurrency", obj.hardwareConcurrency)
// params.append("screen_height", obj.screenResolution[0])
// params.append("available_screen_width", obj.availableScreenResolution[1])
// params.append("available_screen_height", obj.availableScreenResolution[0])
// params.append("timezone_offset", obj.timezoneOffset)
// params.append("timezone", obj.timezone)
// params.append("device_platform", obj.platform)
// params.append("os", navigator.platform)
// params.append("os_version", '14.1')
// params.append("touch_support",obj.touchSupport.join(','))
// params.append("fonts", obj.fonts.join(','))
// params.append("audio", obj.audio)
// params.append("invite_code", '')
// params.append("webgl_vendor_renderer", obj.webglVendorAndRenderer)
// console.log(document.getElementById('text'));
// document.getElementById('text').innerHTML=obj.userAgent
// for(var key in params){
// let p = document.createElement('p');
// p.innerHTML="<p style='font-size:18px'>"+key+":"+params[key] +"</p>"
// document.getElementById('box').appendChild(p)
// }
axios.request({
url:'https://m.ddhi.cn/app/reg',
method:'post',
data:params,
headers:{
platform:'H5',
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(res=>{
console.log(res);
// document.getElementById('text').innerHTML=res
})
});
}
// let parmas = getContext();
// setTimeout(()=>{
start();
// })
</script>
</html>
H5 获取设备信息
最新推荐文章于 2024-05-16 01:20:32 发布