Generátor náhodných user agentov - Vytvorenie reťazcov prehliadača
Generujte autentické reťazce user agentov pre Chrome, Firefox, Safari a Edge. Testujte kompatibilitu prehliadačov, responzívne dizajny a API s realistickými identifikátormi prehliadačov.
Generátor náhodných user agentov
Generovanie náhodných, realistických reťazcov user agentov pre testovanie webového vývoja.
Vygenerovaný user agent
Dokumentácia
Generátor náhodných reťazcov User-Agent
Generátor náhodných identifikátorov používateľa vytvára vzorové reťazce identifikátora používateľa, krátke textové riadky, ktoré webový prehliadač odosiela webovej lokalite na svoju identifikáciu. Tento nástroj vytvára reťazce v skutočnom formáte, ktorý používajú prehliadače Chrome, Firefox, Safari a Edge na stolných počítačoch aj mobilných zariadeniach, takže vývojári môžu testovať reakcie lokality na rôzne prehliadače bez toho, aby museli každý z nich inštalovať.
Čo je reťazec používateľského agenta?
Zakaždým, keď prehliadač požiada o webovú stránku, odošle hlavičku HTTP User-Agent. Hlavička je jeden textový riadok, ktorý obsahuje názov a verziu prehliadača, operačný systém a vykresľovacie jadro (časť prehliadača, ktorá zobrazuje stránku). Webová lokalita môže túto hlavičku prečítať a rozhodnúť, aké rozloženie stránky alebo funkcie má odoslať späť.
Typický reťazec identifikátora používateľa vyzerá takto:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2Takmer každý prehliadač začína svoj reťazec textom „Mozilla/5.0“. Je to pozostatok z 1990. rokov, keď webové lokality kontrolovali prítomnosť tohto slova, aby zistili, či je prehliadač dostatočne schopný na zobrazenie stránky. Novšie prehliadače tento prvok zachovali, aby ich staré kontroly nezablokovali.
Ako tento generátor funguje
Nástroj má tri nastavenia:
- Typ zariadenia – počítač alebo mobilné zariadenie.
- Rodina prehliadača – Chrome, Firefox, Safari alebo Edge.
- Operačný systém – Windows, macOS alebo Linux pre počítače; iOS alebo Android pre mobilné zariadenia.
Nie každá kombinácia existuje v skutočnom svete, preto nástroj možnosti obmedzuje. Safari sa zobrazuje iba pri systémoch macOS a iOS, pretože Apple nevydáva Safari pre Windows, Linux ani Android. Chrome, Firefox a Edge sú dostupné vo všetkých uvedených operačných systémoch vrátane iOS, kde fungujú ako nadstavba nad jadrom WebKit spoločnosti Apple, a nie nad vlastným jadrom.
Kliknutím na „Generate New“ sa z týchto troch nastavení a náhodne vybraného čísla verzie vytvorí reťazec. Tlačidlo „Copy“ skopíruje výsledok do schránky.
Formát reťazca identifikátora používateľa podľa prehliadača
Každý prehliadač dopĺňa podobnú šablónu vlastnými prvkami.
Chrome (počítač):
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 (počítač):
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 (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
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 vyžaduje, aby každý prehliadač v systéme iOS používal WebKit, preto vyššie uvedené formy pre iOS zdieľajú prvok vykresľovacieho jadra Safari AppleWebKit/605.1.15 a pridávajú značku špecifickú pre prehliadač: CriOS/ pre Chrome, FxiOS/ pre Firefox a EdgiOS/ pre Edge. Žiadny z nich neobsahuje prvok Chrome/ ani Gecko/. Safari a Edge v systéme iOS odosielajú aj prvok Version/, ktorý uvádza verziu Safari dodávanú s operačným systémom, takže sa vždy zhoduje s verziou iOS v tom istom reťazci.
Od 2021 Chrome a prehliadače založené na Chromiu, napríklad Edge, zmrazili väčšinu čísla verzie v počítačoch a systéme Android, aby znížili množstvo identifikačných údajov v hlavičke. Túto zmenu Google nazýva „redukcia User-Agent“. Namiesto skutočného čísla zostavy má prvok Chrome v týchto reťazcoch vždy tvar major.0.0.0 (napríklad 128.0.0.0) a tento generátor sa správa rovnako. Výnimkou je vlastný prvok Edge – Edg/ v počítačoch, EdgA/ v systéme Android a EdgiOS/ v systéme iOS – a Chrome v systéme iOS (CriOS/), ktoré stále obsahujú úplné štvorčlenné číslo zostavy, pretože pravidlá redukcie spoločnosti Google sa na ne nevzťahujú.
Firefox rovnaké zmrazenie neprijal. Jeho skutočný reťazec verzie má zvyčajne iba dve časti, major.0, a práve taký vytvára aj generátor. Trojčlenná verzia Firefoxu, napríklad 95.0.2, sa môže objaviť po bezpečnostnej oprave, ale tento nástroj vytvára iba dvojčlenný formát.
Príklady výstupov
Chrome v počítači so systémom 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 v počítači so systémom macOS:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
2Safari v počítači so systémom 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 v počítači so systémom 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 v mobilnom zariadení so systémom Android:
1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36
2Edge v mobilnom zariadení so systémom 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 v mobilnom zariadení 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 v mobilnom zariadení so systémom Android:
1Mozilla/5.0 (Android 13; Mobile; rv:130.0) Gecko/130.0 Firefox/130.0
2Chrome v mobilnom zariadení 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 v mobilnom zariadení 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 v mobilnom zariadení 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
2Rozdiely medzi počítačovými a mobilnými zariadeniami
Reťazce pre počítače uvádzajú operačný systém a často aj architektúru procesora: Win64; x64 pre 64-bitový Windows alebo Intel Mac OS X pre Mac. Zostávajú pomerne jednotné, pretože existuje len niekoľko počítačových platforiem, ktoré treba zastúpiť.
Mobilné reťazce zvyčajne pridávajú slovo „Mobile“, aby lokalita vedela, že má poskytnúť rozloženie vhodné pre dotykové ovládanie. Zariadenia so systémom iOS sa identifikujú ako „iPhone“ spolu s verziou iOS zapísanou s podčiarkovníkmi (17_4) a bez koncovej nulovej opravy, teda 17_4 namiesto 17_4_0. Android je odlišný: v dôsledku rovnakých pravidiel redukcie verzie, ktoré ovplyvňujú číslo zostavenia Chrome, Chrome a Edge v systéme Android vždy uvádzajú platformu ako Linux; Android 10; K bez ohľadu na skutočne používanú verziu Androidu alebo model telefónu. Písmeno „K“ je zástupný symbol, nie skutočný kód zariadenia, a skutočná verzia Androidu je skrytá. Firefox pre Android nezmrazuje verziu rovnakým spôsobom a namiesto toho uvádza skutočnú hlavnú verziu Androidu, ale vôbec neobsahuje model zariadenia. Generátor, ktorý v reťazci Chrome pre Android zobrazuje konkrétny model telefónu, napríklad číslo modelu Galaxy, by nezodpovedal správaniu skutočného aktuálneho prehliadača Chrome.
Prečo reťazce identifikátora používateľa vyzerajú zložito
Reťazec vyzerá neprehľadne v dôsledku desaťročí opráv kompatibility. Počas „vojny prehliadačov“ na konci 1990. rokov niektoré lokality posielali lepšie stránky iba pre Netscape alebo iba pre Internet Explorer a v hlavičke kontrolovali kľúčové slová. Konkurenčné prehliadače začali tieto kľúčové slová pridávať do vlastných reťazcov, aby ich lokality neodmietli. Preto reťazec Chrome stále obsahuje zmienky o „Safari“ a „like Gecko“, hoci nepoužíva žiadne z týchto jadier pod uvedeným názvom. Každý prvok je pozostatkom starej komunikácie, ktorého účelom je vyhovieť starej kontrole kompatibility, a nie pravdivo opísať softvér.
Keďže tieto reťazce stále analyzuje veľké množstvo lokalít, výrobcovia prehliadačov nemôžu neprehľadné časti jednoducho odstrániť bez narušenia fungovania stránok. Dlhodobá náhrada s názvom User-Agent Client Hints odosiela údaje o prehliadači ako samostatné štruktúrované hlavičky namiesto jedného dlhého reťazca, klasická hlavička User-Agent sa však z dôvodu spätnej kompatibility stále odosiela všade.
Bežné použitia
- Testovanie kompatibility. Overenie, ako sa stránka vykreslí po rozpoznaní konkrétneho prehliadača, bez inštalácie daného prehliadača.
- Kontroly responzívneho dizajnu. Overenie, že lokalita po prijatí mobilného identifikátora používateľa poskytne mobilné rozloženie a v opačnom prípade počítačové rozloženie.
- Automatizované testovacie súpravy. Vkladanie rôznych reťazcov identifikátora používateľa do testovacích skriptov s cieľom overiť, že kód na rozpoznávanie prehliadača každý z nich správne spracuje.
- Testovanie rozhraní API a hlavičiek. Overenie, že server správne reaguje, keď požiadavky odosielajú rôzne typy klientov.
Obmedzenia
Hlavička identifikátora používateľa je iba jedným z mnohých signálov, ktoré môže webová lokalita čítať. Skripty spustené na stránke môžu kontrolovať desiatky ďalších údajov, napríklad nainštalované písma, veľkosť obrazovky a spôsob, akým grafická karta vykresľuje testovací obrázok, čo je technika známa ako snímanie odtlačku prehliadača. Nastavenie identifikátora používateľa pre Chrome pri skutočnom prehliadaní vo Firefoxe lokalitu neoklame, ak kontroluje aj tieto ďalšie signály; nesúlad sa dá ľahko odhaliť. Na bežné vývojové a QA testovanie však správne naformátovaný vygenerovaný reťazec stačí na overenie, ako serverový a klientsky kód lokality reaguje na rôzne prehliadače a zariadenia.
Najčastejšie otázky
Čo je reťazec identifikátora používateľa? Je to textový riadok, ktorý prehliadač odosiela s každou webovou požiadavkou a uvádza v ňom prehliadač, jeho verziu, operačný systém a vykresľovacie jadro. Servery ho používajú na rozhodnutie, aký obsah alebo rozloženie majú vrátiť.
Prečo verzia Chrome vždy končí na .0.0.0?
Od 2021 Chrome zmrazil väčšinu čísla verzie, ktoré uvádza v hlavičke User-Agent, aby obmedzil fingerprinting. Mení sa iba hlavné číslo verzie; zvyšok je pevne nastavený na .0.0.0. Vlastný prvok Edge a všetky prehliadače v systéme iOS sú výnimkami a stále zobrazujú úplné číslo zostavenia.
Prečo reťazec iPhone uvádza „Safari“, aj keď je vybraný iný prehliadač?
Apple vyžaduje, aby všetky prehliadače v systéme iOS používali jeho jadro WebKit, preto Chrome, Firefox a Edge v systéme iOS uvádzajú WebKit a končia prvkom Safari/. Prehliadač je uvedený samostatnou značkou: CriOS/ pre Chrome, FxiOS/ pre Firefox a EdgiOS/ pre Edge.
Prečo reťazec Androidu nezobrazuje model môjho telefónu?
Moderné prehliadače Chrome a Edge v systéme Android uvádzajú pre každé zariadenie a každú skutočnú verziu Androidu pevný reťazec platformy Linux; Android 10; K v rámci rovnakých pravidiel redukcie verzie, ktoré ovplyvňujú číslo zostavenia Chrome. Skutočný model a verzia Androidu sa nezverejňujú.
Môžem vygenerovaný identifikátor používateľa použiť na získavanie údajov z webu?
Zmenu hlavičky možno vykonať, ale lokality môžu odhaliť nesúlad prostredníctvom iných signálov a automatizované získavanie údajov môže porušovať podmienky používania lokality alebo pravidlá súboru robots.txt. Pred získavaním údajov si overte pravidlá danej lokality.
Je vygenerovaný reťazec totožný s reťazcom zo skutočného zariadenia? Dodržiava rovnaký formát a poradie prvkov ako skutočný prehliadač daného typu. Keďže Chrome a Edge v systéme Android zmrazujú verziu, vygenerovaný reťazec Chrome pre Android a skutočný reťazec môžu byť v časti platformy totožné, pretože skutočné zariadenia uvádzajú rovnakú pevnú hodnotu.
Čo je Client Hints a nahrádza reťazec User-Agent?
Client Hints je novší systém, ktorý odosiela údaje o prehliadači a zariadení ako samostatné hlavičky HTTP namiesto jedného kombinovaného reťazca. Prehliadače k nemu pridávajú podporu, klasická hlavička User-Agent však zostáva široko používaná, pretože od nej stále závisí mnoho existujúcich webových lokalít.