Generador d'Agents d'Usuari Aleatoris - Crear Cadenes de Navegador
Genera cadenes d'agent d'usuari autèntiques per a Chrome, Firefox, Safari i Edge. Prova la compatibilitat de navegadors, dissenys responsive i API amb identificadors de navegador realistes.
Generador Aleatori d'Agents d'Usuari
Genera cadenes d'agents d'usuari de navegador aleatòries i realistes per a proves de desenvolupament web.
Agent d'Usuari Generat
Documentació
Generador aleatori d’agents d’usuari
Un generador aleatori d’agents d’usuari crea exemples de cadenes d’agent d’usuari, les línies curtes de text que un navegador web envia a un lloc web per identificar-se. Aquesta eina crea cadenes que segueixen el format real utilitzat per Chrome, Firefox, Safari i Edge, tant en dispositius d’escriptori com mòbils, perquè els desenvolupadors puguin provar com respon un lloc a diferents navegadors sense instal·lar-los tots.
Què és una cadena d’agent d’usuari?
Cada vegada que un navegador sol·licita una pàgina web, envia una capçalera HTTP User-Agent. La capçalera és una única línia de text que descriu el nom del navegador, la seva versió, el sistema operatiu i el motor de renderització (la part del navegador que dibuixa la pàgina). Un lloc web pot llegir aquesta capçalera per decidir quin disseny de pàgina o quines funcions ha d’enviar.
Una cadena d’agent d’usuari típica té aquest aspecte:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2Gairebé tots els navegadors comencen la seva cadena amb «Mozilla/5.0». Això prové dels 1990, quan els llocs web comprovaven si hi apareixia aquesta paraula per decidir si un navegador era prou capaç per visualitzar una pàgina. Els navegadors més nous van conservar aquest testimoni per evitar que les comprovacions antigues els bloquegessin.
Com funciona aquest generador
L’eina té tres controls:
- Tipus de dispositiu – Escriptori o mòbil.
- Família del navegador – Chrome, Firefox, Safari o Edge.
- Sistema operatiu – Windows, macOS o Linux per a escriptori; iOS o Android per a mòbil.
No totes les combinacions existeixen en la realitat, de manera que l’eina limita les opcions. Safari només apareix a macOS i iOS, perquè Apple no distribueix Safari per a Windows, Linux ni Android. Chrome, Firefox i Edge estan disponibles en tots els sistemes operatius indicats, inclòs iOS, on funcionen com una capa sobre el motor WebKit d’Apple i no pas amb el seu propi motor.
En fer clic a «Genera’n un de nou», es crea una cadena a partir d’aquestes tres opcions i d’un número de versió triat aleatòriament. El botó «Copia» copia el resultat al porta-retalls.
Format de la cadena d’agent d’usuari segons el navegador
Cada navegador omple una plantilla semblant amb els seus propis testimonis.
Chrome (escriptori):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36
2Chrome (Android):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36
2Chrome (iOS):
1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/major.0.build.build Mobile/15E148 Safari/604.1
2Firefox (escriptori):
1Mozilla/5.0 (platform; rv:major.0) Gecko/20100101 Firefox/major.0
2Firefox (Android):
1Mozilla/5.0 (Android version; Mobile; rv:major.0) Gecko/major.0 Firefox/major.0
2Firefox (iOS):
1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/major.0 Mobile/15E148 Safari/605.1.15
2Safari (macOS):
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor Safari/605.1.15
2Safari (iOS):
1Mozilla/5.0 (iPhone; CPU iPhone OS major_minor like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor Mobile/15E148 Safari/604.1
2Edge (escriptori):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36 Edg/major.0.build.build
2Edge (Android):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36 EdgA/major.0.build.build
2Edge (iOS):
1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor EdgiOS/major.0.build.build Mobile/15E148 Safari/605.1.15
2Apple obliga tots els navegadors d’iOS a utilitzar WebKit, de manera que les formes d’iOS anteriors comparteixen el testimoni del motor AppleWebKit/605.1.15 de Safari i afegeixen un marcador específic del navegador: CriOS/ per a Chrome, FxiOS/ per a Firefox i EdgiOS/ per a Edge. Cap d’ells no inclou cap testimoni Chrome/ ni Gecko/. Safari i Edge a iOS també envien un testimoni Version/, que indica la versió de Safari distribuïda amb el sistema operatiu, de manera que sempre coincideix amb la versió d’iOS de la mateixa cadena.
Des de 2021, Chrome i els navegadors basats en Chromium, com Edge, han congelat la major part del número de versió a l’escriptori i a Android per reduir la quantitat de detalls identificadors de la capçalera; Google anomena aquest canvi «reducció de l’agent d’usuari». En lloc d’un número de compilació real, el testimoni de Chrome d’aquestes cadenes sempre mostra major.0.0.0 (per exemple, 128.0.0.0), i aquest generador reprodueix aquest comportament. L’excepció és el testimoni propi d’Edge — Edg/ a l’escriptori, EdgA/ a Android i EdgiOS/ a iOS— i Chrome quan s’executa a iOS (CriOS/), que encara inclouen un número de compilació complet de quatre parts, perquè la política de reducció de Google no s’hi aplica.
Firefox no ha adoptat el mateix congelament. La seva cadena de versió real normalment només té dues parts, major.0, i això és el que genera l’eina. Una versió de Firefox de tres parts, com 95.0.2, pot aparèixer després d’un pedaç de seguretat, però aquesta eina només genera la forma de dues parts.
Exemples de resultats
Chrome d’escriptori a Windows:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2Firefox d’escriptori a macOS:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
2Safari d’escriptori a macOS:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15
2Edge d’escriptori a Windows:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.2903.86
2Chrome mòbil a Android:
1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36
2Edge mòbil a Android:
1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36 EdgA/128.0.2952.62
2Safari mòbil a l’iPhone:
1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1
2Firefox mòbil a Android:
1Mozilla/5.0 (Android 13; Mobile; rv:130.0) Gecko/130.0 Firefox/130.0
2Chrome mòbil a l’iPhone:
1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/128.0.6613.98 Mobile/15E148 Safari/604.1
2Firefox mòbil a l’iPhone:
1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/130.0 Mobile/15E148 Safari/605.1.15
2Edge mòbil a l’iPhone:
1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 EdgiOS/128.0.2952.62 Mobile/15E148 Safari/605.1.15
2Diferències entre l’escriptori i el mòbil
Les cadenes d’escriptori indiquen el sistema operatiu i, sovint, l’arquitectura del processador: Win64; x64 per a Windows de 64 bits, o Intel Mac OS X per a un Mac. Són força uniformes, ja que només cal representar un grapat de plataformes d’escriptori.
Les cadenes mòbils normalment afegeixen la paraula «Mobile» perquè el lloc sàpiga que ha d’oferir un disseny adaptat al tacte. Els dispositius iOS s’identifiquen com a «iPhone» juntament amb la versió d’iOS, escrita amb guions baixos (17_4) i sense el zero final del pedaç, és a dir, 17_4 en lloc de 17_4_0. Android és diferent: a causa de la mateixa política de reducció de versions que afecta el número de compilació de Chrome, Chrome i Edge a Android sempre indiquen la plataforma com Linux; Android 10; K, independentment de la versió d’Android o del model de telèfon que s’hi executi. La «K» és un marcador de posició, no un codi real del dispositiu, i la versió real d’Android queda oculta. Firefox per a Android no congela la versió de la mateixa manera i, en canvi, indica la versió principal real d’Android, però no inclou cap model de dispositiu. Un generador que mostri un model de telèfon específic, com ara el número de model d’un Galaxy, dins d’una cadena de Chrome per a Android no coincidiria amb el comportament del Chrome actual real.
Per què les cadenes d’agent d’usuari semblen confuses
La cadena sembla atapeïda a causa de dècades de pedaços de compatibilitat. Durant les «guerres dels navegadors» de finals dels 1990, alguns llocs enviaven pàgines millors només a Netscape o només a Internet Explorer, i comprovaven les paraules clau de la capçalera. Els navegadors rivals van respondre afegint aquestes mateixes paraules a les seves pròpies cadenes per evitar ser rebutjats. Per això la cadena de Chrome encara esmenta «Safari» i «like Gecko», tot i que no utilitza cap dels dos motors amb aquest nom. Cada testimoni és un vestigi d’un protocol d’intercanvi destinat a satisfer una comprovació antiga de compatibilitat, no pas una descripció fidel del programari.
Com que molts llocs encara analitzen aquestes cadenes, els fabricants de navegadors no poden eliminar-ne simplement l’embolic sense trencar pàgines. El substitut a llarg termini, anomenat Indicacions del client de l’agent d’usuari, envia els detalls del navegador com a capçaleres separades i estructurades en lloc d’una única cadena llarga, però la capçalera clàssica User-Agent encara s’envia arreu per compatibilitat amb versions anteriors.
Usos habituals
- Proves de compatibilitat. Comprovar com es renderitza una pàgina quan detecta un navegador específic, sense instal·lar-lo.
- Comprovacions del disseny responsiu. Confirmar que un lloc ofereix un disseny mòbil quan rep un agent d’usuari mòbil, i un disseny d’escriptori en cas contrari.
- Conjunts de proves automatitzades. Introduir diverses cadenes d’agent d’usuari en scripts de prova per comprovar que el codi de detecció del navegador gestiona correctament cadascuna.
- Proves d’API i de capçaleres. Verificar que un servidor funciona correctament quan diferents tipus de clients envien sol·licituds.
Limitacions
La capçalera de l’agent d’usuari és només un dels molts senyals que un lloc web pot llegir. Els scripts que s’executen a la pàgina poden comprovar desenes d’altres detalls, com ara les fonts instal·lades, la mida de la pantalla i la manera com la targeta gràfica renderitza una imatge de prova, una tècnica anomenada empremta digital. Configurar un agent d’usuari de Chrome mentre en realitat es navega amb Firefox no enganyarà un lloc que comprovi aquests altres senyals; la discrepància és fàcil de detectar. Tanmateix, per a les tasques habituals de desenvolupament i control de qualitat, una cadena generada amb el format correcte és suficient per provar com reaccionen el servidor i el codi del client d’un lloc davant de diferents navegadors i dispositius.
Preguntes més freqüents
Què és una cadena d’agent d’usuari? És una línia de text que un navegador envia amb cada sol·licitud web i que indica el navegador, la seva versió, el sistema operatiu i el motor de renderització. Els servidors la utilitzen per decidir quin contingut o disseny han de retornar.
Per què la versió de Chrome sempre acaba en .0.0.0?
Des de 2021, Chrome ha congelat la major part del número de versió que comunica a la capçalera User-Agent per reduir l’empremta digital. Només canvia el número de versió principal; la resta es fixa en .0.0.0. El testimoni propi d’Edge i tots els navegadors d’iOS són les excepcions i encara mostren un número de compilació complet.
Per què una cadena d’iPhone diu «Safari» encara que se seleccioni un altre navegador?
Apple obliga tots els navegadors d’iOS a utilitzar el seu motor WebKit, de manera que Chrome, Firefox i Edge a iOS indiquen tots WebKit i acaben amb un testimoni Safari/. El navegador s’indica mitjançant un marcador separat: CriOS/ per a Chrome, FxiOS/ per a Firefox i EdgiOS/ per a Edge.
Per què la cadena d’Android no mostra el model del meu telèfon?
El Chrome i l’Edge moderns d’Android indiquen una cadena de plataforma fixa, Linux; Android 10; K, per a tots els dispositius i totes les versions reals d’Android, com a part de la mateixa política de reducció de versions que afecta el número de compilació de Chrome. El model real i la versió d’Android no s’exposen.
Puc utilitzar un agent d’usuari generat per fer extracció de dades web?
Es pot canviar la capçalera, però els llocs poden detectar la discrepància mitjançant altres senyals, i l’extracció de dades pot infringir les condicions del servei del lloc o les regles de robots.txt. Cal consultar les polítiques del lloc abans d’extreure’n dades.
Una cadena generada és idèntica a una cadena d’un dispositiu real? Segueix el mateix format i ordre dels testimonis que un navegador real d’aquest tipus. A causa del congelament de versions de Chrome i Edge a Android, una cadena generada de Chrome per a Android i una cadena real poden ser idèntiques pel que fa a la part de la plataforma, ja que els dispositius reals comuniquen el mateix valor fix.
Què són les indicacions del client i substitueixen la cadena d’agent d’usuari?
Les indicacions del client són un sistema més nou que envia els detalls del navegador i del dispositiu com a capçaleres HTTP separades en lloc d’una única cadena combinada. Els navegadors hi estan afegint compatibilitat, però la capçalera clàssica User-Agent continua tenint un ús generalitzat perquè molts llocs web existents encara en depenen.