Guía del agente de usuario de Postman: configuración y cambios

Aprenda a configurar, cambiar y rotar el encabezado User-Agent en Postman para evitar la detección antibots y mejorar sus solicitudes HTTP.
11 min de lectura
Postman User Agent Guide blog image

En este artículo sobre el agente de usuario Postman, aprenderá:

  • Por qué debe configurar el encabezado User-Agent
  • Cómo es el agente de usuario predeterminado de Postman
  • Cómo cambiar el agente de usuario en las solicitudes de Postman
  • Cómo implementar la rotación del agente de usuario en Postman

¡Empecemos!

Por qué es tan importante configurar un agente de usuario personalizado

El encabezado User-Agent identifica al cliente que realiza una solicitud HTTP a un servidor. Por lo general, contiene detalles sobre el equipo del cliente y/o la aplicación que realiza la solicitud. Normalmente, este encabezado lo establecen los navegadores web, los clientes HTTP o cualquier software que realice solicitudes web.

Este es un ejemplo de la cadena del agente de usuario establecida por Chrome al solicitar una página web:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/127.0.0.0 Safari/537.36

El encabezado User-Agent de un navegador incluye varios componentes:

  • Mozilla/5.0: inicialmente utilizado para indicar la compatibilidad con los navegadores Mozilla, este prefijo se incluye ahora para una compatibilidad más amplia.
  • Macintosh; Intel Mac OS X 10_15_7: especifica el sistema operativo (Mac OS X 10_15_7) y la plataforma (Intel Mac).
  • AppleWebKit/537.36: se refiere al motor de renderizado utilizado por Chrome.
  • (KHTML, como Gecko): indica compatibilidad con los motores de diseño KHTML y Gecko.
  • Chrome/127.0.0.0: Indica el nombre y la versión del navegador.
  • Safari/537.36: sugiere compatibilidad con Safari.

Los servidores suelen leer el encabezado User-Agent para determinar si las solicitudes que reciben provienen de un navegador u otro software.

Un error común que cometen los bots de Scraping web es el uso de cadenas User-Agent predeterminadas o que no son de navegador. Esto provoca bloqueos por parte de las tecnologías de protección antibots, ya que pueden reconocer la solicitud como procedente de un bot. Para obtener más información, consulte nuestra guía sobre agentes de usuario para Scraping web.

¿Cuál es el agente de usuario predeterminado de Postman?

Postman es uno de los clientes HTTP de escritorio más populares, utilizado por millones de usuarios en todo el mundo. Al igual que la mayoría de los demás clientes HTTP, establece automáticamente un encabezado User-Agent predeterminado en cada solicitud. En concreto, puede observar este comportamiento examinando los encabezados de Postman generados automáticamente:

observe this behavior by examining the auto-generated Postman headers

Como puede ver, el agente de usuario predeterminado de Postman sigue este formato:

PostmanRuntime/x.y.z

«PostmanRuntime» identifica la aplicación Postman, mientras que «x.y.z» es el número de versión actual.

Para verificar que la cadena anterior es realmente el agente de usuario predeterminado de Postman, realice una solicitud GET al punto final httpbin.io/user-agent. Este punto final de la API devuelve el encabezado User-Agent de la solicitud entrante, lo que le ayuda a identificar el agente de usuario utilizado por cualquier cliente HTTP.

identify the user agent used

Observe cómo el agente de usuario devuelto por la API coincide con el establecido por Postman de forma predeterminada. En detalle, el agente de usuario de Postman es:

PostmanRuntime/7.41.0

Como puede ver, la cadena del agente de usuario utilizada por Postman es bastante diferente de la establecida por un navegador como Chrome. Cuando los servidores reciben solicitudes con estos encabezados, es probable que los sistemas antibots las bloqueen.

Esto ocurre porque esas soluciones supervisan las solicitudes entrantes, buscando patrones que indiquen actividad de bots, como agentes de usuario inusuales. ¡Por eso es tan importante modificar el agente de usuario predeterminado en Postman!

Cómo cambiar el agente de usuario de Postman

Es hora de ver cómo configurar un agente de usuario personalizado en Postman.

Configurar el agente de usuario en una sola solicitud

Postman le permite cambiar el agente de usuario en una sola solicitud HTTP especificando manualmente un encabezado User-Agent.

Nota: Los encabezados generados automáticamente por Postman no se pueden modificar directamente.

Acceda a la pestaña «Encabezados» y añada un nuevo encabezado User-Agent:

adding a new user-agent header

Postman sustituirá el agente de usuario predeterminado generado automáticamente por el valor de su encabezado User-Agent. Tenga en cuenta que los encabezados HTTP no distinguen entre mayúsculas y minúsculas, por lo que también puede llamar a su encabezado user-agent o con cualquier otra combinación de mayúsculas y minúsculas.

Compruebe que el método funciona ejecutando una solicitud GET al punto final httpbin.io/user-agent:

executing a GET request

¡Increíble! El agente de usuario devuelto por la API coincide con el encabezado User-Agent personalizado.

Establecer el agente de usuario en toda una colección

Una colección de Postman es un grupo de solicitudes de API que suelen compartir características comunes, como el servidor de destino o el ámbito. En particular, es probable que los puntos finales de una colección tengan configuraciones similares. Por lo tanto, Postman admite la definición de scripts personalizados que se ejecutan antes o después de cada solicitud de una colección.

Veamos cómo utilizar este mecanismo para establecer un agente de usuario personalizado para todas las solicitudes de una colección de Postman.

Para crear y gestionar colecciones de Postman, primero debe iniciar sesión en su cuenta. Si aún no lo ha hecho, cree una cuenta de Postman.

Ahora, supongamos que tienes una colección llamada «HTTPBin» que contiene los puntos finales HTTPBin organizados en carpetas:

HTTPBin endpoints organized in folders

Ejecute la solicitud para el punto final /user-agent y obtendrá el agente de usuario predeterminado de Postman:

the default Postman user agent

Es hora de cambiar eso definiendo un script previo a la solicitud que establezca un encabezado User-Agent personalizado. Un script previo a la solicitud es un JavaScript que Postman ejecuta antes de ejecutar una solicitud en una colección.

Sigue las instrucciones que se indican a continuación para crear un script previo a la solicitud para la configuración del agente de usuario.

Haga doble clic en su colección, vaya a la pestaña «Scripts» y seleccione la opción «Pre-request»:

select the “Pre-request” option

En el editor, pegue el siguiente código:

pm.request.headers.add({

key: "User-Agent",

value: "<tu-agente-de-usuario>"

});

Reemplace la cadena <su-agente-de-usuario> con el valor del agente de usuario que desea utilizar, como se muestra a continuación:

pm.request.headers.add({

key: "User-Agent",

value: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"

});

pm.request.headers.add() es una función especial de la API de Postman para añadir un encabezado específico a la solicitud.

Haga clic en el botón «Guardar» para aplicar los cambios.

Vuelve a ejecutar la solicitud para el punto final /user-agent:

executing the request again

Esta vez, el agente de usuario devuelto será el establecido en el script y no el predeterminado de Postman. ¡Misión completada!

Desactivar el agente de usuario

El encabezado User-Agent generado automáticamente es opcional y, de hecho, puede desmarcarlo. Cuando esté desmarcado, Postman ya no enviará un encabezado User-Agent.

Verifique esto enviando una solicitud al punto final httpbin.io/headers, que devuelve todos los encabezados de la solicitud entrante:

return of all the headers of the incoming request

Tenga en cuenta que el objeto de encabezados devuelto por el punto final no incluye la clave User-Agent.

Nota: No se recomienda desactivar el encabezado del agente de usuario, ya que casi todas las solicitudes web suelen incluir ese encabezado.

Implementar la rotación del agente de usuario en Postman

El simple hecho de sustituir el encabezado User-Agent predeterminado de Postman por uno de un navegador puede no ser suficiente para eludir los sistemas antibots. Esto es especialmente cierto si envía numerosas solicitudes con encabezados idénticos desde la misma dirección IP.

Para reducir el riesgo de ser detectado como un bot en Postman, debe variar sus solicitudes. Un enfoque práctico es utilizar un User-Agent diferente para cada solicitud, una técnica conocida como rotación de agentes de usuario. Este método reduce las posibilidades de que sus solicitudes sean marcadas como automatizadas.

En esta sección paso a paso, aprenderá a implementar la rotación de agentes de usuario en Postman.

Paso n.º 1: Recuperar una lista de agentes de usuario

Visite un sitio como WhatIsMyBrowser.com y rellene una lista de agentes de usuario válidos:

const userAgents = [

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.2651.86",

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.2651.86",

«Mozilla/5.0 (Linux; Android 10; HD1913) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/127.0.6533.103 Mobile Safari/537.36 EdgA/127.0.2651.82»,

«Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/127.0.0.0 Safari/537.36»,

«Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/127.0.0.0 Safari/537.36»,

«Mozilla/5.0 (iPhone; CPU iPhone OS 17_6 similar a Mac OS X) AppleWebKit/605.1.15 (KHTML, similar a Gecko) CriOS/127.0.6533.107 Mobile/15E148 Safari/604.1",

"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0",

"Mozilla/5.0 (Macintosh; Intel Mac OS X 14.6; rv:129.0) Gecko/20100101 Firefox/129.0",

// otros agentes de usuario...

];

Consejo: Cuantos más agentes de usuario reales contenga esta matriz, mayores serán las posibilidades de rotación.

Paso n.º 2: Seleccionar aleatoriamente un agente de usuario

Utilice la API Math de JavaScript para seleccionar aleatoriamente un agente de usuario de la lista:

const userAgent = serAgents[Math.floor(Math.random() * userAgents.length)];

Esto es lo que ocurre en esta línea de código:

  1. Math.random() genera un número aleatorio entre 0 y 1.
  2. A continuación, el número generado se multiplica por la longitud de la matriz userAgents.
  3. Math.floor() redondea el número resultante al entero más grande menor o igual que el número de origen. El número resultante corresponde a un índice que va de 0 a userAgents.length - 1.
  4. El índice se utiliza para acceder a un elemento aleatorio de la matriz de agentes de usuario.
  5. El agente de usuario seleccionado aleatoriamente se asigna a una variable.

Paso n.º 3: definir el encabezado User-Agent

Utilice pm.request.headers.add() para definir un encabezado User-Agent con el valor aleatorio userAgent:

pm.request.headers.add({

key: "User-Agent",

value: userAgent

});

La solicitud HTTP de la colección ahora tendrá un encabezado User-Agent rotativo.

Paso 4: Combinar todo

Este es el script final de Postman previo a la solicitud para la rotación del agente de usuario:

// una lista de agentes de usuario válidos

const userAgents = [

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.2651.86",

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.2651.86",

«Mozilla/5.0 (Linux; Android 10; HD1913) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/127.0.6533.103 Mobile Safari/537.36 EdgA/127.0.2651.82»,

«Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/127.0.0.0 Safari/537.36»,

«Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/127.0.0.0 Safari/537.36»,

«Mozilla/5.0 (iPhone; CPU iPhone OS 17_6 similar a Mac OS X) AppleWebKit/605.1.15 (KHTML, similar a Gecko) CriOS/127.0.6533.107 Mobile/15E148 Safari/604.1»,

«Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0",

"Mozilla/5.0 (Macintosh; Intel Mac OS X 14.6; rv:129.0) Gecko/20100101 Firefox/129.0",

// otros agentes de usuario...

];

// extraer aleatoriamente un agente de usuario de la lista

const userAgent = userAgents[Math.floor(Math.random() * userAgents.length)];

// establecer el encabezado del agente de usuario aleatorio

pm.request.headers.add({

key: "User-Agent",

value: userAgent

});

Añádalo a su colección y compruebe que funciona dirigiéndose al punto final httpbin.io/user-agent. Ejecute las solicitudes varias veces y verá cómo rotan los agentes de usuario:

executing requests and seeing the rotation of user agents

Genial, el agente de usuario devuelto sigue cambiando.

¡Et voilà! Ahora ya sabes cómo implementar la lógica de rotación del agente de usuario de Postman.

Más información

Cambiar el agente de usuario predeterminado no es exclusivo de Postman, sino que se aplica a todas las herramientas de automatización de navegadores y clientes HTTP. Explore nuestras guías:

Conclusión

En este artículo, ha comprendido por qué configurar el encabezado del agente de usuario y ha examinado cómo es el agente de usuario predeterminado de Postman. Ha aprendido a anular ese valor e implementar la rotación del agente de usuario para eludir los mecanismos básicos antibots. Sin embargo, los sistemas más avanzados seguirán siendo capaces de bloquear sus solicitudes. Para evitar las prohibiciones de IP, podría utilizar un Proxy en Postman, ¡pero incluso eso podría no ser suficiente!

Para obtener una solución más completa, prueba Web Scraper API, una API de scraping de última generación que puedes llamar desde Postman o cualquier otro cliente HTTP. Evita eficazmente las medidas anti-scraping y anti-bot utilizando funciones integradas como la rotación de IP y del agente de usuario. ¡El Scraping web nunca ha sido tan fácil!

Regístrese hoy mismo para comenzar su prueba gratuita.