Přeskočit na obsah

Generátor náhodných uživatelských agentů - Vytváření řetězců prohlížečů

Generujte autentické řetězce uživatelských agentů pro Chrome, Firefox, Safari a Edge. Testujte kompatibilitu prohlížečů, responzivní design a rozhraní API s realistickými identifikátory prohlížečů.

Generátor náhodných uživatelských agentů

Generujte náhodné, realistické řetězce uživatelských agentů prohlížečů pro testování webového vývoje.

Vygenerovaný uživatelský agent

Kalkulačka načítání...
📚

Dokumentace

Generátor náhodných řetězců user-agent

Generátor náhodných řetězců user-agent vytváří ukázkové řetězce user-agent, krátké textové řádky, které webový prohlížeč odesílá webu, aby se identifikoval. Tento nástroj vytváří řetězce podle skutečného formátu používaného prohlížeči Chrome, Firefox, Safari a Edge na stolních počítačích i mobilních zařízeních, takže vývojáři mohou testovat reakce webu na různé prohlížeče, aniž by museli každý z nich instalovat.

Co je řetězec user-agent?

Pokaždé, když prohlížeč požádá o webovou stránku, odešle hlavičku HTTP User-Agent. Hlavička je jediný řádek textu popisující název prohlížeče, jeho verzi, operační systém a vykreslovací jádro (část prohlížeče, která zobrazuje stránku). Web může tuto hlavičku přečíst a podle ní rozhodnout, jaké rozvržení stránky nebo funkce odešle.

Typický řetězec user-agent vypadá takto:

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

Téměř každý prohlížeč začíná svůj řetězec sekvencí „Mozilla/5,0“. Jde o pozůstatek z 1990. let, kdy weby kontrolovaly přítomnost tohoto slova, aby zjistily, zda je prohlížeč dostatečně schopný k zobrazení stránky. Novější prohlížeče tento token zachovaly, aby je staré kontroly neblokovaly.

Jak tento generátor funguje

Nástroj má tři ovládací prvky:

  1. Typ zařízení – stolní počítač nebo mobilní zařízení.
  2. Rodina prohlížeče – Chrome, Firefox, Safari nebo Edge.
  3. Operační systém – Windows, macOS nebo Linux pro stolní počítače; iOS nebo Android pro mobilní zařízení.

Ne každá kombinace existuje v reálném světě, proto nástroj možnosti omezuje. Safari se zobrazuje pouze pro macOS a iOS, protože Apple Safari nenabízí pro Windows, Linux ani Android. Chrome, Firefox a Edge jsou dostupné ve všech uvedených operačních systémech včetně iOS, kde fungují jako nadstavba nad jádrem WebKit společnosti Apple, nikoli nad vlastním jádrem.

Kliknutím na „Vygenerovat nový“ se vytvoří řetězec z těchto tří nastavení a náhodně zvoleného čísla verze. Tlačítko „Kopírovat“ zkopíruje výsledek do schránky.

Formát řetězce user-agent podle prohlížeče

Každý prohlížeč dosazuje do podobné šablony vlastní tokeny.

Chrome (stolní počítač):

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36
2

Chrome (Android):

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36
2

Chrome (iOS):

1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/major.0.build.build Mobile/15E148 Safari/604.1
2

Firefox (stolní počítač):

1Mozilla/5.0 (platform; rv:major.0) Gecko/20100101 Firefox/major.0
2

Firefox (Android):

1Mozilla/5.0 (Android version; Mobile; rv:major.0) Gecko/major.0 Firefox/major.0
2

Firefox (iOS):

1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/major.0 Mobile/15E148 Safari/605.1.15
2

Safari (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
2

Safari (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
2

Edge (stolní počítač):

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36 Edg/major.0.build.build
2

Edge (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
2

Edge (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
2

Apple vyžaduje, aby každý prohlížeč v systému iOS používal WebKit, takže výše uvedené podoby pro iOS sdílejí token vykreslovacího jádra Safari AppleWebKit/605.1.15 a přidávají značku specifickou pro prohlížeč: CriOS/ pro Chrome, FxiOS/ pro Firefox a EdgiOS/ pro Edge. Žádný z nich neobsahuje token Chrome/ ani Gecko/. Safari a Edge v systému iOS také odesílají token Version/, který uvádí verzi Safari dodávanou s operačním systémem, takže se vždy shoduje s verzí iOS ve stejném řetězci.

Od 2021 Chrome a prohlížeče založené na Chromiu, například Edge, zmrazují většinu čísla verze na stolních počítačích a v Androidu, aby omezily množství identifikačních údajů v hlavičce; Google tuto změnu nazývá „redukce user-agent“. Namísto skutečného čísla sestavení má token Chrome v těchto řetězcích vždy podobu major.0.0.0 (například 128.0.0.0) a tento generátor se chová stejně. Výjimkou je vlastní token Edge – Edg/ na stolních počítačích, EdgA/ v Androidu a EdgiOS/ v iOS – a Chrome běžící v iOS (CriOS/), které stále obsahují úplné čtyřdílné číslo sestavení, protože zásady Googlu pro redukci se na ně nevztahují.

Firefox stejnou redukci nepřijal. Jeho skutečný řetězec verze má obvykle jen dvě části, major.0, a právě tuto podobu generátor vytváří. Tříčástová verze Firefoxu, například 95.0.2, se může po bezpečnostní opravě objevit ve skutečném provozu, ale tento nástroj generuje pouze dvoudílnou podobu.

Ukázkové výstupy

Chrome na stolním počítači s Windows:

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

Firefox na stolním počítači s macOS:

1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
2

Safari na stolním počítači s 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
2

Edge na stolním počítači s 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
2

Chrome v mobilním zařízení s Androidem:

1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36
2

Edge v mobilním zařízení s Androidem:

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
2

Safari v iPhonu:

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
2

Firefox v mobilním zařízení s Androidem:

1Mozilla/5.0 (Android 13; Mobile; rv:130.0) Gecko/130.0 Firefox/130.0
2

Chrome v iPhonu:

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
2

Firefox v iPhonu:

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
2

Edge v iPhonu:

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
2

Rozdíly mezi stolními a mobilními zařízeními

Řetězce pro stolní počítače uvádějí operační systém a často také architekturu procesoru: Win64; x64 pro 64bitový Windows nebo Intel Mac OS X pro Mac. Zůstávají poměrně jednotné, protože je třeba reprezentovat jen několik stolních platforem.

Mobilní řetězce obvykle přidávají slovo „Mobile“, aby web věděl, že má odeslat rozvržení přizpůsobené dotykovému ovládání. Zařízení s iOS se identifikují jako „iPhone“ společně s verzí iOS zapsanou pomocí podtržítek (17_4); závěrečná nulová oprava se vynechává, takže se používá 17_4, nikoli 17_4_0. Android se liší: kvůli stejné zásadě redukce verzí, která ovlivňuje číslo sestavení Chrome, Chrome a Edge v Androidu vždy uvádějí platformu jako Linux; Android 10; K bez ohledu na skutečně používanou verzi Androidu nebo model telefonu. „K“ je zástupný symbol, nikoli skutečný kód zařízení, a skutečná verze Androidu je skryta. Firefox pro Android verzi stejným způsobem nezmrazuje a místo toho uvádí skutečnou hlavní verzi Androidu, ale vůbec neobsahuje model zařízení. Generátor, který by v řetězci Chrome pro Android zobrazoval konkrétní model telefonu, například číslo modelu Galaxy, by neodpovídal současnému chování skutečného Chrome.

Proč řetězce user-agent vypadají matoucím způsobem

Řetězec vypadá přeplněně kvůli desetiletím oprav souvisejících s kompatibilitou. Během „války prohlížečů“ na konci 1990. let některé weby posílaly lepší stránky pouze prohlížeči Netscape nebo pouze Internet Exploreru a kontrolovaly klíčová slova v hlavičce. Konkurenční prohlížeče začaly tato klíčová slova přidávat do vlastních řetězců, aby nebyly odmítnuty. Proto řetězec Chrome stále zmiňuje „Safari“ a „like Gecko“, přestože nepoužívá ani jedno z těchto jader pod tímto názvem. Každý token je pozůstatkem starého mechanismu pro zajištění kompatibility, nikoli pravdivým popisem softwaru.

Protože tolik webů tyto řetězce stále analyzuje, výrobci prohlížečů nemohou přeplněnost jednoduše odstranit, aniž by rozbili některé stránky. Dlouhodobou náhradou jsou nápovědy klienta user-agent, které odesílají údaje o prohlížeči jako samostatné strukturované hlavičky místo jednoho dlouhého řetězce, ale klasická hlavička User-Agent se kvůli zpětné kompatibilitě stále odesílá všude.

Běžná použití

  • Testování kompatibility. Ověření, jak se stránka vykreslí, když rozpozná konkrétní prohlížeč, bez instalace daného prohlížeče.
  • Kontroly responzivního designu. Ověření, že web při přijetí mobilního user-agentu zobrazí mobilní rozvržení a v opačném případě rozvržení pro stolní počítač.
  • Automatizované testovací sady. Předání řady řetězců user-agent testovacím skriptům za účelem ověření, že kód pro detekci prohlížeče každý z nich správně zpracuje.
  • Testování rozhraní API a hlaviček. Ověření, že server správně reaguje na požadavky odeslané různými typy klientů.

Omezení

Hlavička user-agent je pouze jedním z mnoha signálů, které může web číst. Skripty spuštěné na stránce mohou kontrolovat desítky dalších údajů, například nainstalovaná písma, velikost obrazovky a způsob, jakým grafická karta vykreslí testovací obrázek; tato technika se nazývá snímání otisku prohlížeče. Nastavení user-agentu Chrome při skutečném prohlížení ve Firefoxu web neoklame, pokud kontroluje i další signály; nesoulad lze snadno odhalit. Pro každodenní vývoj a práci QA však správně formátovaný vygenerovaný řetězec stačí k otestování reakce serverového a klientského kódu webu na různé prohlížeče a zařízení.

Často kladené otázky

Co je řetězec user-agent? Je to řádek textu, který prohlížeč odesílá s každým webovým požadavkem a uvádí v něm prohlížeč, jeho verzi, operační systém a vykreslovací jádro. Servery jej používají k rozhodnutí, jaký obsah nebo rozvržení mají vrátit.

Proč verze Chrome vždy končí na .0.0.0? Od 2021 Chrome zmrazuje většinu čísla verze, které uvádí v hlavičce User-Agent, aby omezil snímání otisku prohlížeče. Mění se pouze hlavní číslo verze; zbytek zůstává pevně nastaven na .0.0.0. Vlastní token Edge a všechny prohlížeče v iOS jsou výjimkou a stále zobrazují úplné číslo sestavení.

Proč řetězec iPhonu uvádí „Safari“, i když je vybrán jiný prohlížeč? Apple vyžaduje, aby všechny prohlížeče v iOS používaly jeho jádro WebKit, takže Chrome, Firefox i Edge v iOS uvádějí WebKit a končí tokenem Safari/. Prohlížeč je určen samostatnou značkou: CriOS/ pro Chrome, FxiOS/ pro Firefox a EdgiOS/ pro Edge.

Proč řetězec Androidu neuvádí model mého telefonu? Moderní Chrome a Edge v Androidu uvádějí pro každé zařízení a každou skutečnou verzi Androidu pevný řetězec platformy Linux; Android 10; K jako součást stejné zásady redukce verzí, která ovlivňuje číslo sestavení Chrome. Skutečný model ani verze Androidu se nezveřejňují.

Mohu vygenerovaný user-agent použít pro stahování dat z webu? Změna hlavičky je možná, ale weby mohou nesoulad odhalit pomocí dalších signálů a stahování dat může porušovat podmínky používání webu nebo pravidla souboru robots.txt. Před stahováním dat si ověřte zásady daného webu.

Je vygenerovaný řetězec totožný s řetězcem ze skutečného zařízení? Dodržuje stejný formát a pořadí tokenů jako skutečný prohlížeč daného typu. Kvůli zmrazení verzí Chrome a Edge v Androidu mohou být vygenerovaný řetězec Chrome pro Android a skutečný řetězec v části platformy totožné, protože skutečná zařízení uvádějí stejnou pevnou hodnotu.

Co jsou Client Hints a nahrazují řetězec user-agent? Client Hints je novější systém, který odesílá údaje o prohlížeči a zařízení jako samostatné hlavičky HTTP místo jednoho spojeného řetězce. Prohlížeče jej postupně podporují, ale klasická hlavička User-Agent se stále široce používá, protože na ní závisí mnoho již existujících webů.