Справочник APIПрофили
Получение нового отпечатка
Базовый URL
GET
https://v1.empr.cloud/api/v1/fingerprints/{platform}/latest
С помощью данного URL можно получить отпечаток актуальной версии Chrome.
Базовый URL для специфичной версии Chrome
GET
https://v1.empr.cloud/api/v1/fingerprints/{platform}/{version}
С помощью данного URL можно получить отпечаток специфичной версии Chrome, который более не актуален.
Запрос
Заголовки запроса
Prop
Type
Параметры URL
Prop
Type
Примеры запроса
const url = "https://v1.empr.cloud/api/v1/fingerprints/windows/134"; const options = { method: "GET", headers: { "X-Token": "Your Token", }, };fetch(url, options) .then((response) => { response.json().then((data) => { console.log(data); }); }) .catch((error) => { console.error(error); });import requestsurl = 'https://v1.empr.cloud/api/v1/fingerprints/windows/134' headers = { 'X-Token': 'Your Token', 'Content-Type': 'application/json'}response = requests.get(url, headers=headers)print(response.json())<?php$url = "https://v1.empr.cloud/api/v1/fingerprints/windows/134";$token = "Your Token"; $headers = array( 'X-Token: '.$token, 'Content-Type: application/json');$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);$data = curl_exec($ch);if (curl_errno($ch)) { print "Error: " . curl_error($ch);} else { var_dump($data); curl_close($ch);}?>// Requires tokio with features = ["macros", "rt-multi-thread"]// Requires reqwest with features = ["json"]// Requires serde_json#[tokio::main]async fn main() { let url = "https://v1.empr.cloud/api/v1/fingerprints/windows/134"; let token = "Token"; let client = reqwest::Client::new(); let response = client .get(url) .header("X-Token", token) .send() .await .expect("Failed to send request") .json::<serde_json::Value>() .await .expect("Failed to parse response"); dbg!(response);}package mainimport ( "io" "net/http")func main() { url := "https://v1.empr.cloud/api/v1/fingerprints/windows/134" token := "Your Token" client := http.Client{} req, err := http.NewRequest("GET", url, nil) if err != nil { panic(err) } req.Header.Add("X-Token", token) resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) println(string(body))}var url = "https://v1.empr.cloud/api/v1/fingerprints/windows/134";var token = "Your Token"; var client = new HttpClient();client.DefaultRequestHeaders.Add("X-Token", token);var response = await client.GetAsync(url);var content = await response.Content.ReadAsStringAsync();Console.WriteLine(content);Ответ
Пример ответа
{
"data": {
"fingerprint": {
"major": 134,
"os": "windows",
"screen": {
"width": 1280,
"height": 800,
"pixel_ratio": 1.0,
"avail_width": 1280,
"avail_height": 752,
"avail_top": 0,
"avail_left": 0,
"color_depth": 24,
"pixel_depth": 24
},
"fonts": [],
"hints": {
"architecture": "x86",
"bitness": 64,
"model": "",
"platform": "Windows",
"platform_version": "15.0.0",
"ua_full_version": "134.0.6998.166",
"mobile": false
},
"navigator": {
"hardware_concurrency": 2,
"device_memory": 8.0,
"max_touch_points": 10,
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
"platform": "Win32",
"language": "en-US",
"languages": [
"en-US",
"en",
"id"
],
"quota": 166763345510
},
"webgl": {
"unmasked_renderer": "ANGLE (Intel, Intel(R) UHD Graphics 600 (0x00003185) Direct3D11 vs_5_0 ps_5_0, D3D11)",
"unmasked_vendor": "Google Inc. (Intel)",
"extensions": [
"ANGLE_instanced_arrays",
"EXT_blend_minmax",
"EXT_color_buffer_half_float",
"EXT_disjoint_timer_query",
"EXT_float_blend",
"EXT_frag_depth",
"EXT_shader_texture_lod",
"EXT_texture_compression_bptc",
"EXT_texture_compression_rgtc",
"EXT_texture_filter_anisotropic",
"EXT_sRGB",
"KHR_parallel_shader_compile",
"OES_element_index_uint",
"OES_fbo_render_mipmap",
"OES_standard_derivatives",
"OES_texture_float",
"OES_texture_float_linear",
"OES_texture_half_float",
"OES_texture_half_float_linear",
"OES_vertex_array_object",
"WEBGL_color_buffer_float",
"WEBGL_compressed_texture_s3tc",
"WEBGL_compressed_texture_s3tc_srgb",
"WEBGL_debug_renderer_info",
"WEBGL_debug_shaders",
"WEBGL_depth_texture",
"WEBGL_draw_buffers",
"WEBGL_lose_context",
"WEBGL_multi_draw"
],
"extensions_v2": [
"EXT_color_buffer_float",
"EXT_color_buffer_half_float",
"EXT_disjoint_timer_query_webgl2",
"EXT_float_blend",
"EXT_texture_compression_bptc",
"EXT_texture_compression_rgtc",
"EXT_texture_filter_anisotropic",
"EXT_texture_norm16",
"KHR_parallel_shader_compile",
"OES_draw_buffers_indexed",
"OES_texture_float_linear",
"OVR_multiview2",
"WEBGL_clip_cull_distance",
"WEBGL_compressed_texture_s3tc",
"WEBGL_compressed_texture_s3tc_srgb",
"WEBGL_debug_renderer_info",
"WEBGL_debug_shaders",
"WEBGL_lose_context",
"WEBGL_multi_draw",
"WEBGL_provoking_vertex"
],
"extra": {
"uniform_buffer_offset_alignment": 256,
"max_elements_vertices": 2147483647,
"max_elements_indices": 2147483647,
"max_draw_buffers": 8,
"min_program_texel_offset": -8,
"max_program_texel_offset": 7,
"max_color_attachments": 8,
"max_vertex_texture_image_units": 16,
"max_texture_image_units": 16,
"max_3d_texture_size": 2048,
"max_texture_lod_bias": 2,
"max_fragment_uniform_components": 4096,
"max_vertex_uniform_components": 16384,
"max_array_texture_layers": 2048,
"max_varying_components": 120,
"max_transform_feedback_separate_components": 4,
"max_transform_feedback_interleaved_components": 120,
"max_samples": 16,
"max_vertex_uniform_blocks": 12,
"max_fragment_uniform_blocks": 12,
"max_combined_uniform_blocks": 24,
"max_uniform_buffer_bindings": 24,
"max_uniform_block_size": 65536,
"max_combined_vertex_uniform_components": 212992,
"max_combined_fragment_uniform_components": 200704,
"max_vertex_output_components": 120,
"max_fragment_input_components": 120,
"max_element_index": 4294967294.0,
"max_texture_size": 16384,
"max_vertex_attribs": 16,
"max_vertex_uniform_vectors": 4096,
"max_varying_vectors": 30,
"max_combined_texture_image_units": 32,
"max_fragment_uniform_vectors": 1024,
"max_cube_map_texture_size": 16384,
"max_renderbuffer_size": 16384,
"max_viewport_width": 32767,
"max_viewport_height": 32767,
"aliased_line_width_range_min": 1.0,
"aliased_line_width_range_max": 1.0,
"aliased_point_size_range_min": 1.0,
"aliased_point_size_range_max": 1024.0,
"max_server_wait_timeout": null
}
},
"webgpu": {
"vendor": "intel",
"architecture": "gen-9",
"limits": {
"maxBindGroups": 4,
"maxBufferSize": 2147483648.0,
"maxVertexBuffers": 8,
"maxColorAttachments": 8,
"maxVertexAttributes": 16,
"maxTextureArrayLayers": 256,
"maxTextureDimension1D": 8192,
"maxTextureDimension2D": 8192,
"maxTextureDimension3D": 2048,
"maxBindingsPerBindGroup": 1000,
"maxComputeWorkgroupSizeX": 1024,
"maxComputeWorkgroupSizeY": 1024,
"maxComputeWorkgroupSizeZ": 64,
"maxSamplersPerShaderStage": 16,
"maxVertexBufferArrayStride": 2048,
"maxUniformBufferBindingSize": 65536,
"maxInterStageShaderVariables": 16,
"maxInterStageShaderComponents": 60,
"maxComputeWorkgroupStorageSize": 32768,
"maxStorageBuffersPerShaderStage": 10,
"maxUniformBuffersPerShaderStage": 12,
"minStorageBufferOffsetAlignment": 256,
"minUniformBufferOffsetAlignment": 256,
"maxComputeWorkgroupsPerDimension": 65535,
"maxSampledTexturesPerShaderStage": 16,
"maxStorageTexturesPerShaderStage": 8,
"maxComputeInvocationsPerWorkgroup": 1024,
"maxDynamicStorageBuffersPerPipelineLayout": 8,
"maxDynamicUniformBuffersPerPipelineLayout": 10
}
},
"crc": "afee9a9e"
}
}
}Все из полученных параметров в ответе на запрос являются обязательными для создания профиля!