Manejo de agentes de usuario en Node.js

User-Agent es la información en forma de string. Esta string permite que los servidores identifiquen el tipo de aplicación, el sistema operativo, la versión y el proveedor de la solicitud entrante del navegador web. La estructura común para el User-Agent será:
 

User-Agent: product / product-version comment

Aquí se escribirá en producto el nombre del navegador web desde el que se envía la solicitud . La versión del producto se escribirá en product-version y el comentario es opcional. Contiene más información sobre el producto. Por ejemplo, si el navegador web es Firefox, el agente de usuario será:
 

Mozilla/5.0 (system-information) 
    platform (platform-details) extensions

El módulo User-Agent proporciona propiedades del navegador web. También proporciona los datos necesarios para bloquear navegadores automatizados. 
 

Configuración del módulo de agente de usuario: para habilitar este módulo, primero debe inicializar la aplicación con el archivo package.json y luego instalar el módulo de agentes de usuario . Entonces, primero inicialicemos nuestra aplicación con el archivo package.json: 
 

npm init

Ahora, instale el módulo usando – 
 

npm install user-agents --save

Para usar este módulo en su aplicación, simplemente escriba el siguiente código:

const userAgent = require('user-agents');

Implementaciones: después de instalar el módulo, ahora veamos algunas implementaciones de este módulo. La implementación muy básica de este módulo es generar agentes de usuario aleatorios. Para generar un agente de usuario aleatorio, escriba el siguiente código en el archivo main.js: 
 

const UserAgent = require('user-agents'); 
   
const userAgent = new UserAgent();
console.log(userAgent.toString());

Aquí, estamos creando una instancia del módulo User-Agent con la ayuda de una nueva palabra clave. Luego, estamos registrando el formato de string del agente de usuario generado aleatoriamente en la consola. La salida para el código anterior será: 
 

Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/80.0.3987.132 Safari/537.36

Además, si queremos imprimir los datos en formato JSON, escriba el siguiente código: 
 

const UserAgent = require('user-agents'); 
   
const userAgent = new UserAgent();
console.log(JSON.stringify(userAgent.data, null, 1));

Aquí, la función stringify() convertirá el valor de JavaScript en JSON. Toma tres parámetros, el primero será el valor que se convertirá en JSON, el segundo parámetro será la función de reemplazo que transformará el resultado, y el tercer parámetro será para agregar sangría, caracteres de salto de línea para que el JSON convertido string es fácilmente legible. 

La salida para el código anterior será:  

{
 "appName": "Netscape",
 "connection": {
  "downlink": 10,
  "effectiveType": "4g",
  "rtt": 100
 },
 "platform": "Win32",
 "pluginsLength": 3,
 "vendor": "Google Inc.",
 "userAgent": 
    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) 
     AppleWebKit/537.36 (KHTML, like Gecko) 
     Chrome/80.0.3987.132 Safari/537.36",
 "viewportHeight": 790,
 "viewportWidth": 1580,
 "deviceCategory": "desktop",
 "screenHeight": 900,
 "screenWidth": 1600,
 "weight": 0.00007295599223907504
}

Este módulo también proporciona la funcionalidad para restringir el uso de la aplicación solo en dispositivos específicos. Por ejemplo – 
 

const UserAgent = require('user-agents'); 
  
const userAgent = new UserAgent({ deviceCategory: 'mobile' })

Aquí, hemos restringido nuestra aplicación para que se use solo en dispositivos móviles. En lugar de móvil, también podemos escribir escritorio o tablet .
Además, si desea crear varios agentes de usuario con la misma configuración o propiedad, escriba el siguiente código: 
 

const UserAgent = require('user-agents');
  
const userAgent = new UserAgent({ 
    platform: 'Win64', 
    deviceCategory: 'desktop' 
});
  
const userAgents = Array(50).fill()
        .map(() => userAgent());

Aquí, hemos creado una instancia de un agente de usuario con las propiedades como plataforma y categoría de dispositivo . Lo estamos restringiendo para que use la plataforma Windows 64 y se ejecute solo en el escritorio . Luego, creamos una array de 50 agentes de usuario más con las mismas configuraciones.
También podemos aplicar un filtro a nuestra aplicación y el agente de usuario que regresa coincidirá con el filtro aplicado. Por lo tanto, para aplicar un filtro, escriba el siguiente código: 
 

const UserAgent = require('user-agents');
  
const userAgent = new UserAgent(/Chrome/);
console.log(userAgent.toString());

Aquí, estamos pasando el filtro como /Chrome/ . El agente de usuario que regresa contendrá una substring de Chrome . También podemos combinar los filtros y una serie de configuraciones que se aplicarán al agente de usuario que regresa. 
Por ejemplo – 
 

const UserAgent = require('user-agents');
  
const userAgent = new UserAgent([
    /Chrome/,
    {
      deviceCategory: 'tablet',
      platform: 'Win64'
    }
]);

Aquí, aplicamos el filtro como Chrome junto con la variedad de configuraciones en el agente de usuario que regresa. 
 

Conclusión: en este artículo, aprendimos sobre el módulo User-Agent de JavaScript y estudiamos cómo configurar este módulo en un archivo JavaScript. También hemos visto algunas de las implementaciones de este módulo.

Publicación traducida automáticamente

Artículo escrito por pranjal_srivastava y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *