Preskoči na vsebino

Generator naključnih uporabniških agentov - Ustvarjanje brskalnih nizov

Ustvarjanje avtentičnih nizov uporabniških agentov za Chrome, Firefox, Safari in Edge. Preizkusite združljivost brskalnikov, odzivne oblike in API-je z realističnimi identifikatorji brskalnikov.

Generator naključnih uporabniških agentov

Ustvarjanje naključnih, realističnih nizov uporabniških agentov brskalnikov za testiranje spletnega razvoja.

Ustvarjen uporabniški agent

Kalkulator nalaganja...
📚

Dokumentacija

Generator naključnih nizov uporabniškega agenta

Generator naključnih nizov uporabniškega agenta ustvari vzorčne nize uporabniškega agenta, kratke vrstice besedila, ki jih spletni brskalnik pošlje spletnemu mestu, da se predstavi. Orodje ustvari nize, ki sledijo dejanski obliki, ki jo uporabljajo Chrome, Firefox, Safari in Edge v namiznih in mobilnih napravah, zato lahko razvijalci preizkusijo odziv spletnega mesta na različne brskalnike, ne da bi morali namestiti vsakega posebej.

Kaj je niz uporabniškega agenta?

Vsakič, ko brskalnik zahteva spletno stran, pošlje glavo HTTP User-Agent. Glava je ena vrstica besedila, ki opisuje ime brskalnika, njegovo različico, operacijski sistem in mehanizem za upodabljanje (del brskalnika, ki izriše stran). Spletno mesto lahko to glavo prebere in se odloči, katero postavitev ali funkcije naj pošlje nazaj.

Tipičen niz uporabniškega agenta je videti tako:

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

Skoraj vsak brskalnik začne svoj niz z »Mozilla/5.0«. To je ostanek iz 1990. let, ko so spletna mesta preverjala prisotnost te besede, da bi ugotovila, ali je brskalnik dovolj zmogljiv za ogled strani. Novejši brskalniki so ta žeton ohranili, da jih stara preverjanja ne bi blokirala.

Kako deluje ta generator

Orodje ima tri nastavitve:

  1. Vrsta naprave – namizna ali mobilna.
  2. Družina brskalnika – Chrome, Firefox, Safari ali Edge.
  3. Operacijski sistem – Windows, macOS ali Linux za namizne naprave; iOS ali Android za mobilne naprave.

V resničnem svetu ne obstaja vsaka kombinacija, zato orodje omeji izbiro. Safari je na voljo samo v sistemih macOS in iOS, ker Apple ne izdaja Safarija za Windows, Linux ali Android. Chrome, Firefox in Edge so na voljo v vseh navedenih operacijskih sistemih, tudi v sistemu iOS, kjer delujejo kot ovoj okoli Applovega mehanizma WebKit in ne uporabljajo lastnega mehanizma.

S klikom na »Ustvari novega« se iz teh treh nastavitev in naključno izbrane številke različice sestavi niz. Gumb »Kopiraj« kopira rezultat v odložišče.

Oblika niza uporabniškega agenta po brskalnikih

Vsak brskalnik zapolni podobno predlogo s svojimi žetoni.

Chrome (namizni):

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 (namizni):

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 (namizni):

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 zahteva, da vsi brskalniki v sistemu iOS uporabljajo WebKit, zato zgornje oblike za iOS vsebujejo Safarijev žeton mehanizma AppleWebKit/605.1.15 in dodajo oznako, značilno za brskalnik: CriOS/ za Chrome, FxiOS/ za Firefox in EdgiOS/ za Edge. Nobeden od njih ne vsebuje žetona Chrome/ ali Gecko/. Safari in Edge v sistemu iOS pošljeta tudi žeton Version/, ki navaja različico Safarija, vključeno v operacijski sistem, zato se vedno ujema z različico sistema iOS v istem nizu.

Od 2021 so Chrome in brskalniki, temelječi na Chromiumu, kot je Edge, v namiznih sistemih in sistemu Android zamrznili večino številke različice, da bi zmanjšali količino podatkov, ki omogočajo identifikacijo v glavi; Google to spremembo imenuje »zmanjšanje uporabniškega agenta«. Namesto prave številke gradnje se žeton Chrome v teh nizih vedno glasi major.0.0.0 (na primer 128.0.0.0), kar posnema tudi ta generator. Izjema je Edgeov lastni žeton — Edg/ v namiznih sistemih, EdgA/ v sistemu Android in EdgiOS/ v sistemu iOS — ter Chrome v sistemu iOS (CriOS/), ki še vedno vsebujeta celotno štiridelno številko gradnje, saj se Googlova politika zmanjševanja zanje ne uporablja.

Firefox ni uvedel enakega zamrznjenja. Njegov resnični niz različice ima običajno le dva dela, major.0, in takšnega ustvari tudi generator. Tridelna različica Firefoxa, kot je 95.0.2, se lahko po varnostnem popravku pojavi v praksi, vendar to orodje ustvari samo dvodelno obliko.

Primeri izhodov

Namizni Chrome v sistemu 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

Namizni Firefox v sistemu macOS:

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

Namizni Safari v sistemu 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

Namizni Edge v sistemu 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

Mobilni Chrome v sistemu Android:

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

Mobilni Edge v sistemu 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
2

Mobilni Safari v telefonu 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
2

Mobilni Firefox v sistemu Android:

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

Mobilni Chrome v telefonu 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
2

Mobilni Firefox v telefonu 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
2

Mobilni Edge v telefonu 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
2

Razlike med namiznimi in mobilnimi napravami

Namizni nizi navajajo operacijski sistem in pogosto tudi arhitekturo procesorja: Win64; x64 za 64-bitni Windows ali Intel Mac OS X za računalnik Mac. Ostajajo precej enotni, saj je namiznih platform, ki jih je treba predstaviti, le nekaj.

Mobilni nizi običajno dodajo besedo »Mobile«, da spletno mesto ve, naj uporabi postavitev, prilagojeno upravljanju na dotik. Naprave iOS se identificirajo kot »iPhone« skupaj z različico sistema iOS, zapisano s podčrtaji (17_4), pri čemer je končna ničla popravka izpuščena, zato je zapis 17_4 namesto 17_4_0. Android je drugačen: zaradi iste politike zmanjševanja različice, ki vpliva na številko gradnje Chroma, Chrome in Edge v sistemu Android vedno poročata o platformi Linux; Android 10; K, ne glede na dejansko različico sistema Android ali model telefona. »K« je nadomestna vrednost, ne prava koda naprave, resnična različica sistema Android pa je skrita. Firefox za Android različice ne zamrzne na enak način, temveč poroča o dejanski glavni različici sistema Android, vendar sploh ne vključuje modela naprave. Generator, ki bi v niz Chroma za Android vstavil določen model telefona, na primer številko modela Galaxy, se ne bi ujemal z delovanjem sodobnega Chroma v praksi.

Zakaj so nizi uporabniškega agenta videti zmedeni

Niz je videti neurejen zaradi desetletij popravkov za združljivost. V »brskalniških vojnah« ob koncu 1990-ih let so nekatera spletna mesta pošiljala boljše strani samo Netscapu ali samo Internet Explorerju ter v glavi preverjala ključne besede. Konkurenčni brskalniki so se odzvali tako, da so iste ključne besede dodali v svoje nize, da jih spletna mesta ne bi zavrnila. Zato Chromeov niz še vedno omenja »Safari« in »like Gecko«, čeprav ne uporablja nobenega od teh mehanizmov pod tem imenom. Vsak žeton je ostanek nekdanjega postopka rokovanja, namenjenega izpolnitvi nekdanjega preverjanja združljivosti, ne pa resničnemu opisu programske opreme.

Ker toliko spletnih mest te nize še vedno razčlenjuje, jih izdelovalci brskalnikov ne morejo preprosto odstraniti, ne da bi povzročili težave na straneh. Dolgoročna zamenjava, imenovana namigi odjemalca uporabniškega agenta, podrobnosti o brskalniku pošilja kot ločene, strukturirane glave namesto enega dolgega niza, vendar se klasična glava User-Agent zaradi združljivosti za nazaj še vedno pošilja povsod.

Pogoste uporabe

  • Preverjanje združljivosti. Preverite, kako se stran izriše, ko zazna določen brskalnik, ne da bi ta brskalnik namestili.
  • Preverjanje odzivnega oblikovanja. Potrdite, da spletno mesto ob prejemu mobilnega uporabniškega agenta pošlje mobilno postavitev, sicer pa namizno.
  • Avtomatizirani testni sklopi. V testne skripte vnesite različne nize uporabniškega agenta in preverite, ali koda za zaznavanje brskalnika vsakega pravilno obdela.
  • Preverjanje API-jev in glav. Preverite, ali se strežnik pravilno odzove, ko zahteve pošljejo različne vrste odjemalcev.

Omejitve

Glava uporabniškega agenta je le eden od številnih signalov, ki jih lahko prebere spletno mesto. Skripte, ki se izvajajo na strani, lahko preverijo na desetine drugih podrobnosti, na primer nameščene pisave, velikost zaslona in način, kako grafična kartica izriše preskusno sliko; ta tehnika se imenuje prstno odtisovanje. Nastavitev uporabniškega agenta Chroma med dejanskim brskanjem v Firefoxu ne bo zavedla spletnega mesta, ki preverja te druge signale; neskladje je mogoče zlahka zaznati. Za vsakodnevno razvojno delo in zagotavljanje kakovosti pa pravilno oblikovan ustvarjeni niz zadostuje za preizkušanje odziva strežniške in odjemalske kode spletnega mesta na različne brskalnike in naprave.

Pogosta vprašanja

Kaj je niz uporabniškega agenta? To je vrstica besedila, ki jo brskalnik pošlje z vsako spletno zahtevo ter navede brskalnik, njegovo različico, operacijski sistem in izrisovalni mehanizem. Strežniki jo uporabljajo pri odločitvi, katero vsebino ali postavitev naj vrnejo.

Zakaj se različica Chroma vedno konča z .0.0.0? Od 2021 Chrome zaradi zmanjšanja možnosti prstnega odtisa zamrzne večino številke različice, ki jo sporoči v glavi User-Agent. Spreminja se samo glavna številka različice; preostanek je določen kot .0.0.0. Edgeov lastni žeton in vsi brskalniki v sistemu iOS so izjemi ter še vedno prikazujejo celotno številko gradnje.

Zakaj niz telefona iPhone vsebuje »Safari«, tudi ko je izbran drug brskalnik? Apple zahteva, da vsi brskalniki v sistemu iOS uporabljajo njegov mehanizem WebKit, zato Chrome, Firefox in Edge v sistemu iOS vsi poročajo o WebKitu in se končajo z žetonom Safari/. Brskalnik je naveden z ločeno oznako: CriOS/ za Chrome, FxiOS/ za Firefox in EdgiOS/ za Edge.

Zakaj niz sistema Android ne prikazuje modela mojega telefona? Sodobna brskalnika Chrome in Edge v sistemu Android za vsako napravo in vsako dejansko različico sistema Android poročata o nespremenjenem nizu platforme Linux; Android 10; K, kar je del iste politike zmanjševanja različice, ki vpliva na številko gradnje Chroma. Dejanski model in različica sistema Android nista razkrita.

Ali lahko ustvarjeni uporabniški agent uporabim za spletno zajemanje podatkov? Spreminjanje glave je mogoče, vendar lahko spletna mesta neskladje zaznajo prek drugih signalov, spletno zajemanje podatkov pa lahko krši pogoje uporabe spletnega mesta ali pravila datoteke robots.txt. Pred zajemanjem podatkov preverite pravilnike spletnega mesta.

Ali je ustvarjeni niz enak nizu iz resnične naprave? Sledi isti obliki in vrstnemu redu žetonov kot resnični brskalnik te vrste. Zaradi zamrznitve različice Chroma in Edgea v sistemu Android sta lahko ustvarjeni niz Chroma za Android in resnični niz za platformni del enaka, saj resnične naprave poročajo o isti določeni vrednosti.

Kaj so namigi odjemalca in ali nadomeščajo niz uporabniškega agenta? Namigi odjemalca so novejši sistem, ki podrobnosti o brskalniku in napravi pošilja kot ločene glave HTTP namesto enega združenega niza. Brskalniki dodajajo podporo zanje, vendar klasična glava User-Agent ostaja zelo razširjena, ker je od nje še vedno odvisnih veliko obstoječih spletnih mest.