Hopp til innhold

Tilfeldig Brukeragent Generator - Opprett Nettleserstrenger

Generer autentiske brukeragentstrenger for Chrome, Firefox, Safari og Edge. Test nettleserkompatibilitet, responsiv design og APIer med realistiske nettleseridentifikatorer.

Tilfeldig User Agent Generator

Generer tilfeldige, realistiske nettleser user agent-strenger for webuviklingstesting.

Generert User Agent

Lastekalkulator...
📚

Dokumentasjon

Generator for tilfeldige brukeragentstrenger

En generator for tilfeldige brukeragenter lager eksempler på brukeragentstrenger, de korte tekstlinjene en nettleser sender til et nettsted for å identifisere seg. Verktøyet bygger strenger som følger det faktiske formatet som brukes av Chrome, Firefox, Safari og Edge, både på stasjonære og mobile enheter, slik at utviklere kan teste hvordan et nettsted reagerer på ulike nettlesere uten å installere hver av dem.

Hva er en brukeragentstreng?

Hver gang en nettleser ber om en nettside, sender den en HTTP-header med User-Agent. Headeren er én tekstlinje som beskriver nettleserens navn og versjon, operativsystemet og gjengivelsesmotoren (delen av nettleseren som tegner opp siden). Et nettsted kan lese denne headeren for å avgjøre hvilket sideoppsett eller hvilke funksjoner det skal sende tilbake.

En typisk brukeragentstreng ser slik ut:

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

Nesten alle nettlesere begynner strengen med «Mozilla/5.0». Dette er en arv fra 1990-årene, da nettsteder så etter dette ordet for å avgjøre om en nettleser var god nok til å vise en side. Nyere nettlesere beholdt tokenet for ikke å bli blokkert av gamle kontroller.

Slik fungerer denne generatoren

Verktøyet har tre innstillinger:

  1. Enhetstype – stasjonær eller mobil.
  2. Nettleserfamilie – Chrome, Firefox, Safari eller Edge.
  3. Operativsystem – Windows, macOS eller Linux for stasjonære enheter; iOS eller Android for mobile enheter.

Ikke alle kombinasjoner finnes i den virkelige verden, så verktøyet begrenser valgene. Safari vises bare for macOS og iOS, fordi Apple ikke leverer Safari for Windows, Linux eller Android. Chrome, Firefox og Edge er tilgjengelige på alle de oppførte operativsystemene, inkludert iOS, der de kjører som et skall over Apples WebKit-motor i stedet for sin egen motor.

Når man klikker på «Generer ny», bygger verktøyet en streng fra disse tre innstillingene og et tilfeldig valgt versjonsnummer. «Kopier»-knappen kopierer resultatet til utklippstavlen.

Format for brukeragentstrenger etter nettleser

Hver nettleser fyller ut en lignende mal med sine egne token.

Chrome (stasjonær):

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 (stasjonær):

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 (stasjonær):

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 krever at alle iOS-nettlesere bruker WebKit, så iOS-formatene ovenfor deler Safaris motortoken AppleWebKit/605.1.15 og legger til en nettleserspesifikk markør: CriOS/ for Chrome, FxiOS/ for Firefox og EdgiOS/ for Edge. Ingen av dem inneholder et Chrome/- eller Gecko/-token. Safari og Edge på iOS sender også et Version/-token, som angir Safari-versjonen som fulgte med operativsystemet, og derfor alltid samsvarer med iOS-versjonen i den samme strengen.

Siden 2021 har Chrome og Chromium-baserte nettlesere som Edge låst det meste av versjonsnummeret på stasjonære enheter og Android for å redusere mengden identifiserende informasjon i headeren, en endring Google kaller «reduksjon av brukeragent». I stedet for et faktisk byggnummer viser Chrome-tokenet i disse strengene alltid major.0.0.0 (for eksempel 128.0.0.0), og denne generatoren følger samme praksis. Unntaket er Edges eget token – Edg/ på stasjonære enheter, EdgA/ på Android og EdgiOS/ på iOS – samt Chrome på iOS (CriOS/), som fortsatt inneholder et fullstendig byggnummer med fire deler, fordi Googles reduksjonspolicy ikke gjelder for dem.

Firefox har ikke innført den samme låsingen. Den faktiske versjonsstrengen består normalt bare av to deler, major.0, og det er dette generatoren produserer. En tresifret Firefox-versjon som 95.0.2 kan forekomme etter en sikkerhetsoppdatering, men dette verktøyet genererer bare formatet med to deler.

Eksempelresultater

Chrome på Windows, stasjonær:

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 på macOS, stasjonær:

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

Safari på macOS, stasjonær:

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 på Windows, stasjonær:

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 på Android, mobil:

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

Edge på Android, mobil:

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 på iPhone, mobil:

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 på Android, mobil:

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

Chrome på iPhone, mobil:

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 på iPhone, mobil:

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 på iPhone, mobil:

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

Forskjeller mellom stasjonære og mobile enheter

Strenger for stasjonære enheter angir operativsystemet og ofte prosessorarkitekturen: Win64; x64 for Windows på 64 bit, eller Intel Mac OS X for en Mac. De er ganske ensartede, siden det bare finnes et begrenset antall stasjonære plattformer å representere.

Mobile strenger legger vanligvis til ordet «Mobile», slik at et nettsted vet at det skal levere et berøringsvennlig oppsett. iOS-enheter identifiserer seg som «iPhone» sammen med iOS-versjonen, skrevet med understreker (17_4) og uten en avsluttende null for oppdateringen, altså 17_4 i stedet for 17_4_0. Android er annerledes: På grunn av den samme versjonsreduksjonen som påvirker Chromes byggnummer, rapporterer Chrome og Edge på Android alltid plattformen som Linux; Android 10; K, uansett hvilken Android-versjon eller telefonmodell som faktisk kjører. «K» er en plassholder, ikke en faktisk enhetskode, og den virkelige Android-versjonen skjules. Firefox for Android låser ikke versjonen på samme måte, men rapporterer i stedet den faktiske hovedversjonen av Android. Den inkluderer imidlertid ikke noen enhetsmodell. En generator som viser en bestemt telefonmodell, for eksempel et Galaxy-modellnummer, i en Android Chrome-streng, ville derfor ikke samsvare med hvordan den faktiske, nåværende Chrome fungerer.

Hvorfor brukeragentstrenger ser forvirrende ut

Strengen ser rotete ut på grunn av flere tiår med kompatibilitetstilpasninger. Under «nettleserkrigene» på slutten av 1990-årene sendte enkelte nettsteder bedre sider bare til Netscape eller bare til Internet Explorer og så etter nøkkelord i headeren. Konkurrerende nettlesere svarte ved å legge de samme nøkkelordene til i sine egne strenger, slik at de ikke skulle bli avvist. Derfor nevner Chromes streng fortsatt «Safari» og «like Gecko», selv om den ikke bruker noen av motorene med disse navnene. Hvert token er en rest av en håndtrykkmekanisme som skulle tilfredsstille en gammel kompatibilitetskontroll, ikke gi en korrekt beskrivelse av programvaren.

Fordi så mange nettsteder fortsatt tolker disse strengene, kan nettleserprodusentene ikke bare fjerne rotet uten å ødelegge sider. Den langsiktige erstatningen, kalt User-Agent Client Hints, sender nettleserdetaljer som separate, strukturerte headere i stedet for én lang streng. Den klassiske User-Agent-headeren sendes likevel fortsatt overalt av hensyn til bakoverkompatibilitet.

Vanlige bruksområder

  • Kompatibilitetstesting. Kontroller hvordan en side gjengis når den oppdager en bestemt nettleser, uten å installere nettleseren.
  • Kontroll av responsivt design. Bekreft at et nettsted leverer et mobiloppsett når det mottar en mobil brukeragent, og et stasjonært oppsett ellers.
  • Automatiserte testserier. Gi testskript et utvalg brukeragentstrenger for å kontrollere at nettlesergjenkjenningskoden håndterer hver av dem riktig.
  • Testing av API-er og headere. Kontroller at en server oppfører seg riktig når ulike klienttyper sender forespørsler.

Begrensninger

Brukeragent-headeren er bare ett av mange signaler et nettsted kan lese. Skript som kjører på siden, kan kontrollere dusinvis av andre detaljer, for eksempel installerte skrifter, skjermstørrelse og hvordan grafikkortet gjengir et testbilde, en teknikk som kalles fingeravtrykk. Hvis man angir en Chrome-brukeragent mens man faktisk surfer i Firefox, vil det ikke lure et nettsted som kontrollerer disse andre signalene; avviket er lett å oppdage. Til vanlig utviklings- og kvalitetssikringsarbeid er en korrekt formatert, generert streng likevel nok til å teste hvordan et nettsteds server- og klientkode reagerer på ulike nettlesere og enheter.

Ofte stilte spørsmål

Hva er en brukeragentstreng? Det er en tekstlinje en nettleser sender med hver nettforespørsel. Den angir nettleseren, versjonen, operativsystemet og gjengivelsesmotoren. Servere bruker den til å avgjøre hvilket innhold eller oppsett som skal returneres.

Hvorfor slutter Chrome-versjonen alltid med .0.0.0? Siden 2021 har Chrome låst det meste av versjonsnummeret som rapporteres i User-Agent-headeren for å redusere fingeravtrykk. Bare hovedversjonsnummeret endres; resten er fast satt til .0.0.0. Edges eget token og alle nettlesere på iOS er unntakene og viser fortsatt et fullstendig byggnummer.

Hvorfor sier en iPhone-streng «Safari» selv når en annen nettleser er valgt? Apple krever at alle iOS-nettlesere bruker WebKit-motoren deres, så Chrome, Firefox og Edge på iOS rapporterer alle WebKit og avslutter med et Safari/-token. Nettleseren angis av en separat markør: CriOS/ for Chrome, FxiOS/ for Firefox og EdgiOS/ for Edge.

Hvorfor viser ikke Android-strengen telefonmodellen min? Nyere Chrome og Edge på Android rapporterer en fast plattformstreng, Linux; Android 10; K, for alle enheter og alle faktiske Android-versjoner, som del av den samme versjonsreduksjonen som påvirker Chromes byggnummer. Den faktiske modellen og Android-versjonen oppgis ikke.

Kan jeg bruke en generert brukeragent til nettskraping? Det er mulig å endre headeren, men nettsteder kan oppdage avvik gjennom andre signaler, og nettskraping kan bryte et nettsteds bruksvilkår eller reglene i robots.txt. Kontroller nettstedets retningslinjer før det skrapes.

Er en generert streng identisk med en streng fra en virkelig enhet? Den følger samme format og tokenrekkefølge som en ekte nettleser av denne typen. På grunn av Chromes og Edges versjonslåsing på Android kan en generert Android Chrome-streng og en ekte streng være identiske for plattformdelen, siden virkelige enheter rapporterer den samme faste verdien.

Hva er Client Hints, og erstatter det brukeragentstrengen? Client Hints er et nyere system som sender detaljer om nettleser og enhet som separate HTTP-headere i stedet for én samlet streng. Nettlesere legger til støtte for dette, men den klassiske User-Agent-headeren er fortsatt i utstrakt bruk fordi mange eksisterende nettsteder fortsatt er avhengige av den.