Generatore di User Agent Casuali - Crea Stringhe del Browser
Genera stringhe di user agent autentiche per Chrome, Firefox, Safari ed Edge. Testa la compatibilità del browser, i design reattivi e le API con identificatori di browser realistici.
Generatore Casuale di User Agent
Genera stringhe di user agent del browser casuali e realistiche per test di sviluppo web.
User Agent Generato
Documentazione
Generatore casuale di user agent
Un generatore casuale di user agent crea stringhe di user agent di esempio, brevi righe di testo che un browser web invia a un sito per identificarsi. Questo strumento costruisce stringhe conformi al formato reale usato da Chrome, Firefox, Safari ed Edge, sia per dispositivi desktop sia mobili, così gli sviluppatori possono verificare come un sito risponde a browser diversi senza installarli uno per uno.
Che cos'è una stringa di user agent?
Ogni volta che un browser richiede una pagina web, invia un'intestazione HTTP User-Agent. L'intestazione è una singola riga di testo che descrive il nome e la versione del browser, il sistema operativo e il motore di rendering, cioè la parte del browser che disegna la pagina. Un sito può leggere questa intestazione per decidere quale layout o quali funzionalità della pagina restituire.
Una stringa di user agent tipica è simile a questa:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2Quasi tutti i browser iniziano la propria stringa con "Mozilla/5.0". È un retaggio degli anni 1990, quando i siti web cercavano quella parola per decidere se un browser fosse abbastanza capace da visualizzare una pagina. I browser più recenti hanno mantenuto il token per non essere bloccati dai vecchi controlli.
Come funziona questo generatore
Lo strumento ha tre controlli:
- Tipo di dispositivo – Desktop o mobile.
- Famiglia di browser – Chrome, Firefox, Safari o Edge.
- Sistema operativo – Windows, macOS o Linux per i dispositivi desktop; iOS o Android per quelli mobili.
Non tutte le combinazioni esistono nella realtà, quindi lo strumento limita le scelte. Safari compare solo su macOS e iOS, perché Apple non distribuisce Safari per Windows, Linux o Android. Chrome, Firefox ed Edge sono disponibili su tutti i sistemi operativi elencati, incluso iOS, dove funzionano come un involucro sopra il motore WebKit di Apple anziché usare un motore proprio.
Facendo clic su "Genera nuovo", lo strumento costruisce una stringa a partire da queste tre impostazioni e da un numero di versione scelto casualmente. Il pulsante "Copia" copia il risultato negli appunti.
Formato della stringa di user agent per browser
Ogni browser inserisce i propri token in un modello simile.
Chrome (desktop):
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 (desktop):
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 (desktop):
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 richiede che ogni browser per iOS utilizzi WebKit, quindi le forme per iOS riportate sopra condividono il token del motore AppleWebKit/605.1.15 di Safari e aggiungono un indicatore specifico del browser: CriOS/ per Chrome, FxiOS/ per Firefox, EdgiOS/ per Edge. Nessuno di essi contiene un token Chrome/ o Gecko/. Anche Safari ed Edge su iOS inviano un token Version/, che indica la versione di Safari distribuita con il sistema operativo, perciò corrisponde sempre alla versione di iOS presente nella stessa stringa.
Dal 2021, Chrome e i browser basati su Chromium, come Edge, hanno congelato gran parte del numero di versione su desktop e Android per ridurre la quantità di dettagli identificativi nell'intestazione, in una modifica che Google chiama "riduzione dello user agent". Invece di un numero di build reale, il token Chrome in queste stringhe contiene sempre major.0.0.0, per esempio 128.0.0.0, e questo generatore riproduce tale comportamento. Fanno eccezione il token specifico di Edge — Edg/ su desktop, EdgA/ su Android, EdgiOS/ su iOS — e Chrome eseguito su iOS (CriOS/), che continuano a contenere un numero di build completo in quattro parti, perché la politica di riduzione di Google non si applica a essi.
Firefox non ha adottato lo stesso congelamento. La sua stringa di versione reale è normalmente composta da due parti, major.0, ed è questa la forma prodotta dal generatore. Una versione di Firefox in tre parti, come 95.0.2, può comparire dopo una patch di sicurezza, ma questo strumento genera solo la forma in due parti.
Esempi di risultati
Chrome desktop su 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 desktop su macOS:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
2Safari desktop su 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 desktop su 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 mobile su Android:
1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36
2Edge mobile su 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 mobile su 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 mobile su Android:
1Mozilla/5.0 (Android 13; Mobile; rv:130.0) Gecko/130.0 Firefox/130.0
2Chrome mobile su 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 mobile su 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 mobile su 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
2Differenze tra desktop e dispositivi mobili
Le stringhe desktop indicano il sistema operativo e spesso anche l'architettura del processore: Win64; x64 per Windows a 64 bit, oppure Intel Mac OS X per un Mac. Rimangono abbastanza uniformi, poiché esistono solo poche piattaforme desktop da rappresentare.
Le stringhe mobili aggiungono solitamente la parola "Mobile", così un sito sa di dover fornire un layout adatto all'uso tattile. I dispositivi iOS si identificano come "iPhone" insieme alla versione di iOS, scritta con trattini bassi (17_4) e senza lo zero finale della patch, quindi 17_4 invece di 17_4_0. Android è diverso: a causa della stessa politica di riduzione della versione che interessa il numero di build di Chrome, Chrome ed Edge su Android indicano sempre la piattaforma come Linux; Android 10; K, indipendentemente dalla versione di Android o dal modello di telefono effettivamente in uso. La "K" è un segnaposto, non un codice reale del dispositivo, e la versione reale di Android rimane nascosta. Firefox per Android non congela la versione nello stesso modo e indica invece la versione principale reale di Android, ma non include mai il modello del dispositivo. Un generatore che mostrasse un modello specifico di telefono, come il numero di modello di un Galaxy, all'interno di una stringa di Chrome per Android non corrisponderebbe al comportamento di Chrome reale e attuale.
Perché le stringhe di user agent sembrano confuse
La stringa appare disordinata a causa di decenni di correzioni per la compatibilità. Durante le "guerre dei browser" della fine degli anni 1990, alcuni siti fornivano pagine migliori solo a Netscape o solo a Internet Explorer, cercando parole chiave nell'intestazione. I browser concorrenti reagirono aggiungendo quelle stesse parole chiave alle proprie stringhe, per non essere respinti. Ecco perché la stringa di Chrome menziona ancora "Safari" e "like Gecko", anche se non utilizza nessuno dei due motori con quel nome. Ogni token è un residuo di un vecchio scambio di identificazione, pensato per soddisfare un controllo di compatibilità ormai superato invece di descrivere fedelmente il software.
Poiché molti siti analizzano ancora queste stringhe, i produttori di browser non possono semplicemente rimuovere il disordine senza danneggiare le pagine. Il sostituto a lungo termine, chiamato Suggerimenti client User-Agent, invia i dettagli del browser come intestazioni separate e strutturate invece di un'unica stringa lunga, ma la classica intestazione User-Agent viene ancora inviata ovunque per garantire la compatibilità con il software esistente.
Usi comuni
- Test di compatibilità. Verificare come viene visualizzata una pagina quando rileva un browser specifico, senza installare quel browser.
- Verifiche del design responsivo. Confermare che un sito fornisca un layout mobile quando riceve uno user agent mobile e un layout desktop in caso contrario.
- Suite di test automatizzati. Inserire una serie di stringhe di user agent negli script di test per verificare che il codice di rilevamento dei browser gestisca correttamente ciascuna stringa.
- Test di API e intestazioni. Verificare che un server funzioni correttamente quando tipi diversi di client inviano richieste.
Limitazioni
L'intestazione dello user agent è solo uno dei molti segnali che un sito può leggere. Gli script eseguiti nella pagina possono controllare decine di altri dettagli, come i caratteri installati, le dimensioni dello schermo e il modo in cui la scheda grafica riproduce un'immagine di prova: una tecnica chiamata fingerprinting. Impostare uno user agent di Chrome mentre si naviga realmente con Firefox non ingannerà un sito che controlla questi altri segnali; la discrepanza è facile da rilevare. Per le attività quotidiane di sviluppo e controllo qualità, tuttavia, una stringa generata con il formato corretto è sufficiente per verificare come il codice del server e del client di un sito reagisce a browser e dispositivi diversi.
Domande frequenti
Che cos'è una stringa di user agent? È una riga di testo che un browser invia con ogni richiesta web e che indica il browser, la sua versione, il sistema operativo e il motore di rendering. I server la usano per decidere quali contenuti o quale layout restituire.
Perché la versione di Chrome termina sempre con .0.0.0?
Dal 2021, Chrome ha congelato gran parte del numero di versione riportato nell'intestazione User-Agent per ridurre il fingerprinting. Cambia solo il numero della versione principale; il resto è fissato a .0.0.0. Il token specifico di Edge e tutti i browser su iOS fanno eccezione e mostrano ancora un numero di build completo.
Perché una stringa di iPhone contiene "Safari" anche quando è selezionato un browser diverso?
Apple richiede che tutti i browser per iOS utilizzino il suo motore WebKit, quindi Chrome, Firefox ed Edge su iOS indicano tutti WebKit e terminano con un token Safari/. Il browser è indicato da un marcatore separato: CriOS/ per Chrome, FxiOS/ per Firefox, EdgiOS/ per Edge.
Perché la stringa di Android non mostra il modello del mio telefono?
Chrome ed Edge moderni su Android indicano una stringa di piattaforma fissa, Linux; Android 10; K, per ogni dispositivo e ogni versione reale di Android, nell'ambito della stessa politica di riduzione della versione che interessa il numero di build di Chrome. Il modello reale e la versione di Android non vengono esposti.
Posso usare uno user agent generato per il web scraping?
È possibile modificare l'intestazione, ma i siti possono rilevare una discrepanza attraverso altri segnali e lo scraping può violare i termini di servizio di un sito o le regole di robots.txt. È opportuno verificare le politiche del sito prima di eseguire lo scraping.
Una stringa generata è identica a quella di un dispositivo reale? Segue lo stesso formato e lo stesso ordine dei token di un browser reale di quel tipo. A causa del congelamento della versione di Chrome ed Edge su Android, una stringa generata di Chrome per Android e una reale possono essere identiche nella parte relativa alla piattaforma, poiché i dispositivi reali riportano lo stesso valore fisso.
Che cosa sono i Client Hints e sostituiscono la stringa di user agent?
I Client Hints sono un sistema più recente che invia i dettagli del browser e del dispositivo come intestazioni HTTP separate invece di un'unica stringa combinata. I browser stanno aggiungendo il supporto a questo sistema, ma la classica intestazione User-Agent rimane ampiamente utilizzata perché molti siti esistenti dipendono ancora da essa.