Random User Agent Generator - Create Browser Strings
Generate authentic user agent strings for Chrome, Firefox, Safari, and Edge. Test browser compatibility, responsive designs, and APIs with realistic browser identifiers.
Atsitiktinių Naudotojo Agentų Generatorius
Generuokite atsitiktinius, realistiškus naršyklės naudotojo agentų kodus žiniatinklio kūrimo testavimui.
Sugeneruotas Naudotojo Agentas
Dokumentacija
Atsitiktinių naudotojo agento eilučių generatorius
Atsitiktinių naudotojo agento eilučių generatorius sukuria pavyzdines naudotojo agento eilutes – trumpas teksto eilutes, kurias žiniatinklio naršyklė siunčia svetainei, kad ją identifikuotų. Šis įrankis generuoja eilutes, atitinkančias tikrąjį „Chrome“, „Firefox“, „Safari“ ir „Edge“ naudojamą formatą staliniuose bei mobiliuosiuose įrenginiuose, todėl kūrėjai gali išbandyti, kaip svetainė reaguoja į skirtingas naršykles, neįdiegdami kiekvienos iš jų.
Kas yra naudotojo agento eilutė?
Kiekvieną kartą, kai naršyklė paprašo žiniatinklio puslapio, ji siunčia HTTP antraštę User-Agent. Antraštė yra viena teksto eilutė, kurioje nurodomas naršyklės pavadinimas, jos versija, operacinė sistema ir atvaizdavimo variklis (naršyklės dalis, nupiešianti puslapį). Svetainė gali perskaityti šią antraštę ir nuspręsti, kokį puslapio išdėstymą ar funkcijas grąžinti.
Įprasta naudotojo agento eilutė atrodo taip:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2Beveik kiekviena naršyklė pradeda savo eilutę tekstu „Mozilla/5.0“. Tai likutis iš 1990-ųjų, kai svetainės tikrindavo šį žodį, kad nuspręstų, ar naršyklė pakankamai pajėgi puslapiui peržiūrėti. Naujesnės naršyklės išsaugojo šį žymenį, kad jų neužblokuotų senosios patikros.
Kaip veikia šis generatorius
Įrankyje yra trys valdikliai:
- Įrenginio tipas – stalinis arba mobilusis.
- Naršyklės šeima – „Chrome“, „Firefox“, „Safari“ arba „Edge“.
- Operacinė sistema – „Windows“, „macOS“ arba „Linux“ staliniams įrenginiams; „iOS“ arba „Android“ mobiliesiems.
Ne kiekvienas derinys egzistuoja tikrame pasaulyje, todėl įrankis riboja pasirinkimą. „Safari“ rodoma tik naudojant „macOS“ ir „iOS“, nes „Apple“ netiekia „Safari“ sistemoms „Windows“, „Linux“ ar „Android“. „Chrome“, „Firefox“ ir „Edge“ veikia visose išvardytose operacinėse sistemose, įskaitant „iOS“, kur jos veikia kaip apvalkalas virš „Apple“ „WebKit“ variklio, o ne naudoja savo variklį.
Spustelėjus „Generuoti naują“, iš šių trijų nuostatų ir atsitiktinai parinkto versijos numerio sukuriama eilutė. Mygtukas „Kopijuoti“ nukopijuoja rezultatą į iškarpinę.
Naudotojo agento eilutės formatas pagal naršyklę
Kiekviena naršyklė užpildo panašų šabloną savais žymenimis.
„Chrome“ (stalinė):
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“ (stalinė):
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“ (stalinė):
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“ reikalauja, kad kiekviena „iOS“ naršyklė naudotų „WebKit“, todėl pirmiau pateiktose „iOS“ formose yra „Safari“ AppleWebKit/605.1.15 variklio žymuo ir pridedamas konkrečiai naršyklei skirtas žymuo: CriOS/ „Chrome“, FxiOS/ „Firefox“, EdgiOS/ „Edge“. Nė vienoje iš jų nėra žymens Chrome/ ar Gecko/. „Safari“ ir „Edge“ sistemoje „iOS“ taip pat siunčia žymenį Version/, kuriame nurodoma kartu su operacine sistema pateikta „Safari“ versija, todėl toje pačioje eilutėje jis visada sutampa su „iOS“ versija.
Nuo 2021 m. „Chrome“ ir „Chromium“ pagrindu sukurtos naršyklės, pavyzdžiui, „Edge“, stalinėse sistemose ir „Android“ užfiksavo didžiąją versijos numerio dalį, kad sumažintų antraštėje pateikiamos identifikavimo informacijos kiekį; šį pakeitimą „Google“ vadina „User-Agent Reduction“. Vietoj tikro sukūrimo numerio šiose eilutėse esantis „Chrome“ žymuo visada yra major.0.0.0 (pavyzdžiui, 128.0.0.0), ir šis generatorius atkartoja tokį elgesį. Išimtis – paties „Edge“ žymuo: Edg/ stalinėje sistemoje, EdgA/ sistemoje „Android“, EdgiOS/ sistemoje „iOS“, taip pat „Chrome“, veikianti sistemoje „iOS“ (CriOS/); šiuose žymenyse vis dar pateikiamas visas keturių dalių sukūrimo numeris, nes „Google“ mažinimo politika jiems netaikoma.
„Firefox“ tokio pat užfiksavimo netaiko. Tikrąjį jos versijos numerį paprastai sudaro dvi dalys, major.0, ir būtent tokį numerį sukuria generatorius. Trijų dalių „Firefox“ versija, pavyzdžiui, 95.0.2, gali pasitaikyti po saugumo pataisos, tačiau šis įrankis generuoja tik dviejų dalių formą.
Išvesties pavyzdžiai
Stalinė „Chrome“ sistemoje „Windows“:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2Stalinė „Firefox“ sistemoje „macOS“:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
2Stalinė „Safari“ sistemoje „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
2Stalinė „Edge“ sistemoje „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
2Mobilioji „Chrome“ sistemoje „Android“:
1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36
2Mobilioji „Edge“ sistemoje „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
2Mobilioji „Safari“ telefone „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
2Mobilioji „Firefox“ sistemoje „Android“:
1Mozilla/5.0 (Android 13; Mobile; rv:130.0) Gecko/130.0 Firefox/130.0
2Mobilioji „Chrome“ telefone „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
2Mobilioji „Firefox“ telefone „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
2Mobilioji „Edge“ telefone „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
2Stalinės ir mobiliosios versijų skirtumai
Stalinėse eilutėse nurodoma operacinė sistema ir dažnai procesoriaus architektūra: Win64; x64, skirta 64 bitų sistemai „Windows“, arba „Intel Mac OS X“, skirta „Mac“. Jos išlieka gana vienodos, nes reikia aprašyti tik kelias stalinių įrenginių platformas.
Mobiliosiose eilutėse paprastai pridedamas žodis „Mobile“, kad svetainė žinotų, jog reikia pateikti lietimui pritaikytą išdėstymą. „iOS“ įrenginiai nurodo save kaip „iPhone“ kartu su „iOS“ versija, rašoma naudojant apatinius brūkšnius (17_4), o paskutinis pataisos numerio nulis praleidžiamas, todėl rašoma 17_4, o ne 17_4_0. „Android“ veikia kitaip: dėl tos pačios versijos mažinimo politikos, kuri taikoma „Chrome“ sukūrimo numeriui, „Chrome“ ir „Edge“ sistemoje „Android“ visada nurodo platformą kaip Linux; Android 10; K, neatsižvelgiant į faktiškai naudojamą „Android“ versiją ar telefono modelį. „K“ yra vietos žymuo, o ne tikras įrenginio kodas, todėl tikroji „Android“ versija paslepiama. „Firefox“ sistemoje „Android“ neužfiksuoja versijos taip pat ir vietoj to nurodo tikrąją pagrindinę „Android“ versiją, tačiau apskritai neįtraukia įrenginio modelio. Generatorius, rodantis konkretų telefono modelį, pavyzdžiui, „Galaxy“ modelio numerį, „Android“ skirtos „Chrome“ eilutėje neatitiktų dabartinės tikrosios „Chrome“ elgsenos.
Kodėl naudotojo agento eilutės atrodo painios
Eilutė atrodo perkrauta dėl dešimtmečius trukusių suderinamumo pataisų. Vėlyvųjų 1990-ųjų „naršyklių karuose“ kai kurios svetainės siųsdavo geresnius puslapius tik „Netscape“ arba tik „Internet Explorer“ naršyklėms, antraštėje tikrindamos raktinius žodžius. Konkuruojančios naršyklės atsakė į savo eilutes įtraukdamos tuos pačius raktinius žodžius, kad nebūtų atstumtos. Todėl „Chrome“ eilutėje vis dar minimi „Safari“ ir „like Gecko“, nors ji nenaudoja nė vieno tokiu pavadinimu vadinamo variklio. Kiekvienas žymuo yra seno suderinamumo tikrinimo palikimas, skirtas jam patenkinti, o ne teisingai programinės įrangos aprašyti.
Kadangi tiek daug svetainių vis dar analizuoja šias eilutes, naršyklių kūrėjai negali paprasčiausiai pašalinti šios perteklinės informacijos nesugadindami puslapių. Ilgalaikis pakaitalas, vadinamas User-Agent Client Hints, siunčia naršyklės duomenis atskiromis struktūrizuotomis antraštėmis, o ne viena ilga eilute, tačiau klasikinė User-Agent antraštė dėl atgalinio suderinamumo vis dar siunčiama visur.
Įprastas taikymas
- Suderinamumo tikrinimas. Patikrinkite, kaip puslapis atvaizduojamas, kai jis aptinka konkrečią naršyklę, neįdiegdami tos naršyklės.
- Prisitaikančiojo dizaino patikros. Įsitikinkite, kad svetainė pateikia mobilųjį išdėstymą, kai gauna mobiliojo naudotojo agento eilutę, o kitu atveju – stalinį išdėstymą.
- Automatinio testavimo rinkiniai. Pateikite įvairias naudotojo agento eilutes testavimo scenarijams ir patikrinkite, ar naršyklės aptikimo kodas tinkamai apdoroja kiekvieną iš jų.
- API ir antraščių testavimas. Patikrinkite, ar serveris tinkamai veikia, kai užklausas siunčia skirtingų tipų klientai.
Apribojimai
Naudotojo agento antraštė yra tik vienas iš daugelio signalų, kuriuos gali perskaityti svetainė. Puslapyje veikiantys scenarijai gali patikrinti dešimtis kitų dalykų, pavyzdžiui, įdiegtus šriftus, ekrano dydį ir tai, kaip vaizdo plokštė atvaizduoja bandomąjį vaizdą – ši technika vadinama pirštų atspaudų sudarymu. Nustačius „Chrome“ naudotojo agentą, nors iš tikrųjų naršoma naudojant „Firefox“, svetainės, tikrinančios kitus signalus, apgauti nepavyks; neatitikimą lengva aptikti. Tačiau kasdieniam kūrimo ir kokybės užtikrinimo darbui tinkamai suformatuotos sugeneruotos eilutės pakanka norint išbandyti, kaip svetainės serverio ir kliento kodas reaguoja į skirtingas naršykles bei įrenginius.
Dažnai užduodami klausimai
Kas yra naudotojo agento eilutė? Tai teksto eilutė, kurią naršyklė siunčia su kiekviena žiniatinklio užklausa ir kurioje nurodomi naršyklė, jos versija, operacinė sistema bei atvaizdavimo variklis. Serveriai ją naudoja spręsdami, kokį turinį ar išdėstymą grąžinti.
Kodėl „Chrome“ versija visada baigiasi .0.0.0?
Nuo 2021 m. „Chrome“ užfiksavo didžiąją antraštėje User-Agent pateikiamo versijos numerio dalį, kad sumažintų pirštų atspaudų sudarymo galimybę. Keičiasi tik pagrindinis versijos numeris, o likusi dalis visada yra .0.0.0. Paties „Edge“ žymuo ir visos „iOS“ naršyklės yra išimtys – jose vis dar rodomas visas sukūrimo numeris.
Kodėl „iPhone“ eilutėje rašoma „Safari“, nors pasirinkta kita naršyklė?
„Apple“ reikalauja, kad visos „iOS“ naršyklės naudotų jos „WebKit“ variklį, todėl „Chrome“, „Firefox“ ir „Edge“ sistemoje „iOS“ visos nurodo „WebKit“ ir baigiasi žymeniu Safari/. Naršyklė nurodoma atskiru žymeniu: CriOS/ skirta „Chrome“, FxiOS/ skirta „Firefox“, EdgiOS/ skirta „Edge“.
Kodėl „Android“ eilutėje nerodomas mano telefono modelis?
Šiuolaikinės „Chrome“ ir „Edge“ naršyklės sistemoje „Android“ kiekvienam įrenginiui ir kiekvienai tikrajai „Android“ versijai pateikia fiksuotą platformos eilutę Linux; Android 10; K, nes taikoma ta pati versijos mažinimo politika, kuri daro įtaką „Chrome“ komponavimo numeriui. Tikrasis modelis ir „Android“ versija nepateikiami.
Ar galiu naudoti sugeneruotą naudotojo agentą žiniatinklio duomenims rinkti?
Antraštę pakeisti galima, tačiau svetainės gali aptikti neatitikimą pagal kitus signalus, o duomenų rinkimas gali pažeisti svetainės paslaugų teikimo sąlygas arba robots.txt taisykles. Prieš rinkdami duomenis patikrinkite svetainės politiką.
Ar sugeneruota eilutė yra identiška tikro įrenginio eilutei? Ji atitinka tokio tipo tikros naršyklės formatą ir žymenų tvarką. Kadangi „Chrome“ ir „Edge“ sistemoje „Android“ užfiksuoja versiją, sugeneruota „Android“ skirta „Chrome“ eilutė platformos dalyje gali būti identiška tikrai eilutei, nes tikri įrenginiai pateikia tą pačią fiksuotą reikšmę.
Kas yra „Client Hints“ ir ar jie pakeičia naudotojo agento eilutę?
„Client Hints“ yra naujesnė sistema, siunčianti naršyklės ir įrenginio duomenis kaip atskiras HTTP antraštes, o ne vieną bendrą eilutę. Naršyklės pradeda ją palaikyti, tačiau klasikinė User-Agent antraštė tebėra plačiai naudojama, nes nuo jos vis dar priklauso daug esamų svetainių.