Véletlenszerű Felhasználói Ügynök Generátor Webfejlesztési Teszteléshez
Valósághű böngésző felhasználói ügynök karakterláncok generálása, lehetőséggel a szűrésre eszköztípus, böngésző család és operációs rendszer szerint. Tökéletes webfejlesztési teszteléshez és kompatibilitási ellenőrzésekhez.
Véletlenszerű felhasználói ügynök generátor
Véletlenszerű, reális böngésző felhasználói ügynök karakterláncok generálása webfejlesztési teszteléshez.
Generált felhasználói ügynök
Dokumentáció
Véletlenszerű Felhasználói Ügynök Generátor
Bevezetés
A Felhasználói Ügynök (User Agent) string egy specifikus szöveges azonosító, amelyet a web böngészők és más alkalmazások küldenek a weboldalaknak, hogy azonosítsák magukat. Ez a string általában tartalmaz információkat a böngészőről, operációs rendszerről, eszköztípusról és a használt renderelő motorról. Webfejlesztők és tesztelők számára elengedhetetlen, hogy hozzáférjenek különböző, reális felhasználói ügynök stringekhez a weboldal kompatibilitásának, reszponzivitásának és funkcióinak teszteléséhez különböző platformokon.
Ez a Véletlenszerű Felhasználói Ügynök Generátor eszköz hitelesnek tűnő felhasználói ügynök stringeket hoz létre a kiválasztott paraméterek alapján. Szűrhet a készülék típusa (asztali vagy mobil), böngésző család (Chrome, Firefox, Safari vagy Edge) és operációs rendszer szerint, hogy olyan ügynököket generáljon, amelyek megfelelnek a tesztelési követelményeinek. Az eszköz egy egyszerű felületet biztosít, amely lehetővé teszi a generált string egyetlen kattintással történő másolását és új véletlenszerű stringek azonnali generálását.
Felhasználói Ügynök Szerkezete
A felhasználói ügynök stringek követnek bizonyos mintákat a böngésző és a platform függvényében, de általában több közös összetevőt tartalmaznak:
- Böngésző Azonosító: Általában "Mozilla/5.0"-val kezdődik a történelmi kompatibilitás miatt
- Platform/OS Információ: Részletek az operációs rendszerről (Windows, macOS, Android, iOS)
- Böngésző Motor: A renderelő motor (mint a Gecko, WebKit vagy Blink)
- Böngésző Részletek: A konkrét böngésző neve és verziója
Íme egy tipikus felhasználói ügynök szerkezet a főbb böngészők esetében:
Chrome
1Mozilla/5.0 (platform; details) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/version Safari/537.36
2
Firefox
1Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion
2
Safari
1Mozilla/5.0 (platform) AppleWebKit/webkitversion (KHTML, like Gecko) Version/safariversion Safari/safariversion
2
Edge
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/chromiumversion Safari/537.36 Edg/edgeversion
2
A platform szakasz jelentősen változik az asztali és mobil eszközök között:
Asztali Példák:
- Windows:
Windows NT 10.0; Win64; x64
- macOS:
Macintosh; Intel Mac OS X 10_15_7
- Linux:
X11; Linux x86_64
Mobil Példák:
- Android:
Linux; Android 12; SM-G998B
- iOS:
iPhone; CPU iPhone OS 15_4 like Mac OS X
Eszköztípus Különbségek
Asztali Felhasználói Ügynökök
Az asztali felhasználói ügynökök általában tartalmaznak specifikus operációs rendszer információkat, architektúra részleteket (mint x86_64 vagy Win64), és néha nyelvi preferenciákat. Általában következetesebbek a böngészők között, mint a mobil felhasználói ügynökök.
Mobil Felhasználói Ügynökök
A mobil felhasználói ügynökök tartalmazzák az eszköz modell információit, mobil operációs rendszer verziókat, és gyakran tartalmazzák a "Mobile" szót a végén. A mobil Safari iOS eszközökön "iPhone" vagy "iPad" azonosítókat fog tartalmazni, míg az Android eszközök a gyártót és a modell számot.
Böngésző Verzió Minták
Minden böngésző különböző verziózási mintákat követ:
- Chrome: Négy részes verziószámokat használ (pl. 96.0.4664.110)
- Firefox: Általában két vagy három részes verziószámokat használ (pl. 95.0 vagy 95.0.2)
- Safari: Egyszerű verziószámokat használ, mint 15.2
- Edge: Verziószámokat használ, amelyek hasonlóak a Chrome-hoz, de saját Edge verzióval (pl. 96.0.1054.62)
Használati Esetek
A véletlenszerű felhasználói ügynök generálásának számos fontos alkalmazása van a webfejlesztés és tesztelés terén:
-
Keresztböngészős Kompatibilitás Tesztelés: Tesztelje, hogyan jelenik meg és működik a weboldala különböző böngészőkben anélkül, hogy több böngészőt kellene telepítenie vagy több eszközt használnia.
-
Reszponzív Tervezés Tesztelés: Ellenőrizze, hogy a weboldala helyesen észleli a mobil és asztali eszközöket, és a megfelelő elrendezést szolgáltatja.
-
Funkció Észlelési Validálás: Győződjön meg arról, hogy a weboldala funkcióészlelési mechanizmusai helyesen működnek különböző böngésző képességek esetén.
-
QA és Automatizált Tesztelés: Incorporálja a különböző felhasználói ügynököket az automatizált tesztelési szkriptekbe, hogy szimulálja a különböző felhasználói környezeteket.
-
Teljesítmény Tesztelés: Elemezze, hogyan teljesít a weboldala, amikor különböző böngésző környezetekből érik el.
-
Böngésző-specifikus Problémák Hibakeresése: Reprodukálja és javítsa a hibákat, amelyek csak bizonyos böngészőkben vagy verziókban fordulnak elő.
-
API Tesztelés: Tesztelje, hogyan kezeli az API a különböző kliensalkalmazásokból érkező kéréseket.
Alternatívák
Bár a véletlenszerű felhasználói ügynök generátor hasznos sok tesztelési forgatókönyvben, vannak alternatív megközelítések is:
-
Böngésző Tesztelő Szolgáltatások: Olyan platformok, mint a BrowserStack, Sauce Labs vagy LambdaTest valódi böngésző példányokat biztosítanak teszteléshez, nem csupán a felhasználói ügynök szimulálásához.
-
Böngésző Fejlesztői Eszközök: A legtöbb modern böngésző lehetővé teszi a felhasználói ügynök felülírását a fejlesztői eszközeiken keresztül, ami hasznos lehet gyors tesztekhez.
-
Felhasználói Ügynök Váltó Bővítmények: Böngészőbővítmények, amelyek lehetővé teszik, hogy váltsanak a meghatározott felhasználói ügynökök között a böngészés során.
-
Virtuális Gépek vagy Konténerek: Különböző operációs rendszerek és böngészők valódi példányainak futtatása a legpontosabb tesztelés érdekében.
-
Fej nélküli Böngésző Tesztelés: Olyan eszközök használata, mint a Puppeteer vagy Selenium, hogy programozottan vezéreljék a böngészőket különböző felhasználói ügynök beállításokkal.
Minden alternatívának megvannak a saját előnyei, és a konkrét tesztelési igények és erőforrások függvényében lehet, hogy megfelelőbbek.
Történelem
A felhasználói ügynök string fogalma a World Wide Web korai napjaiból származik. A "felhasználói ügynök" kifejezés az HTTP specifikációból származik, ahol a webkiszolgálóhoz kérést küldő kliensalkalmazást jelenti.
Korai Idők (1990-es Évek)
Az első széles körben használt böngésző, az NCSA Mosaic, egy egyszerű felhasználói ügynök stringet tartalmazott, amely azonosította a böngésző nevét és verzióját. Amikor megjelent a Netscape Navigator, hasonló formátumot használt. Azonban ahogy a webkiszolgálók elkezdtek különböző tartalmat szolgáltatni a böngészők alapján, a "böngésző szaglászás" nevű gyakorlat jelent meg.
A Böngésző Háborúk és a Felhasználói Ügynök Hamisítása (1990-es Évek Vége)
A Netscape és az Internet Explorer közötti böngésző háborúk alatt a weboldalak gyakran kizárólag a specifikus böngészők számára optimalizált tartalmat szolgáltattak. A kompatibilitás biztosítása érdekében a böngészők elkezdtek olyan stringeket tartalmazni, amelyek azonosították magukat más böngészőkként. Ezért a legtöbb modern böngésző még mindig tartalmazza a "Mozilla" kifejezést a felhasználói ügynök stringjeikben, ami a Netscape Navigator kódnevére utal.
Mobil Forradalom (2000-es Évek - 2010-es Évek)
A mobil eszközök térnyerése új bonyolultságokat hozott a felhasználói ügynök stringekbe. A mobil böngészőknek azonosítaniuk kellett magukat mobilként, hogy megfelelő tartalmat kapjanak, ami a készülék azonosítók és mobil-specifikus tokenek hozzáadásához vezetett.
Modern Kihívások (2010-es Évek - Jelen)
Ahogy a web ökoszisztéma egyre bonyolultabbá vált, a felhasználói ügynök stringek egyre zavarosabbá váltak. Most már több böngészőmotorra (mint az "AppleWebKit" és "Gecko") vonatkozó hivatkozásokat tartalmaznak a kompatibilitás érdekében, még akkor is, ha ezek a motorok valójában nem használatosak.
Ez a bonyolultság kihívásokat jelentett a felhasználói ügynök stringek pontos elemzésében, és néhány webszabványok csoportja javasolta a felhasználói ügynök stringek elavulttá tételét vagy egyszerűsítését a strukturált kliens utalások érdekében. Azonban a hátrameneti kompatibilitás miatt a hagyományos felhasználói ügynök string továbbra is alapvető részét képezi a webböngészésnek.
Kód Példák
Íme néhány példa arra, hogyan lehet dolgozni a felhasználói ügynök stringekkel különböző programozási nyelvekben:
1// JavaScript: Böngésző típusának észlelése a felhasználói ügynökből
2function detectBrowser() {
3 const userAgent = navigator.userAgent;
4
5 if (userAgent.indexOf("Firefox") > -1) {
6 return "Firefox";
7 } else if (userAgent.indexOf("SamsungBrowser") > -1) {
8 return "Samsung Browser";
9 } else if (userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1) {
10 return "Opera";
11 } else if (userAgent.indexOf("Trident") > -1) {
12 return "Internet Explorer";
13 } else if (userAgent.indexOf("Edge") > -1) {
14 return "Edge";
15 } else if (userAgent.indexOf("Chrome") > -1) {
16 return "Chrome";
17 } else if (userAgent.indexOf("Safari") > -1) {
18 return "Safari";
19 } else {
20 return "Ismeretlen";
21 }
22}
23
24// Használat
25console.log("Ön a következőt használja: " + detectBrowser());
26
1# Python: Egyedi felhasználói ügynök beállítása a kérésekhez
2import requests
3
4def fetch_with_user_agent(url, user_agent):
5 headers = {
6 'User-Agent': user_agent
7 }
8 response = requests.get(url, headers=headers)
9 return response.text
10
11# Példa használat
12chrome_ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'
13content = fetch_with_user_agent('https://example.com', chrome_ua)
14print(content[:100]) # Az első 100 karakter a válaszból
15
1<?php
2// PHP: Mobil eszközök észlelése a felhasználói ügynök alapján
3function isMobileDevice() {
4 $userAgent = $_SERVER['HTTP_USER_AGENT'];
5 $mobileKeywords = array('Mobile', 'Android', 'iPhone', 'iPad', 'Windows Phone');
6
7 foreach ($mobileKeywords as $keyword) {
8 if (stripos($userAgent, $keyword) !== false) {
9 return true;
10 }
11 }
12 return false;
13}
14
15// Használat
16if (isMobileDevice()) {
17 echo "Ön mobil eszközt használ.";
18} else {
19 echo "Ön asztali eszközt használ.";
20}
21?>
22
1// Java: Véletlenszerű felhasználói ügynök generálása
2import java.util.Random;
3
4public class UserAgentGenerator {
5 private static final String[] CHROME_VERSIONS = {"96.0.4664.110", "95.0.4638.69", "94.0.4606.81"};
6 private static final String[] OS_VERSIONS = {"Windows NT 10.0; Win64; x64",
7 "Macintosh; Intel Mac OS X 10_15_7",
8 "X11; Linux x86_64"};
9
10 public static String generateRandomChromeUserAgent() {
11 Random random = new Random();
12 String osVersion = OS_VERSIONS[random.nextInt(OS_VERSIONS.length)];
13 String chromeVersion = CHROME_VERSIONS[random.nextInt(CHROME_VERSIONS.length)];
14
15 return "Mozilla/5.0 (" + osVersion + ") AppleWebKit/537.36 (KHTML, like Gecko) " +
16 "Chrome/" + chromeVersion + " Safari/537.36";
17 }
18
19 public static void main(String[] args) {
20 System.out.println(generateRandomChromeUserAgent());
21 }
22}
23
1# Ruby: Felhasználói ügynök string elemzése
2require 'user_agent_parser'
3
4def parse_user_agent(user_agent_string)
5 parser = UserAgentParser::Parser.new
6 client = parser.parse(user_agent_string)
7
8 {
9 browser_name: client.family,
10 browser_version: client.version.to_s,
11 os_name: client.os.family,
12 os_version: client.os.version.to_s,
13 device: client.device.family
14 }
15end
16
17# Példa használat
18ua = 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1'
19info = parse_user_agent(ua)
20puts info
21
1// C#: Felhasználói ügynök beállítása HttpClient-ben
2using System;
3using System.Net.Http;
4using System.Threading.Tasks;
5
6class Program
7{
8 static async Task Main()
9 {
10 // HttpClient létrehozása egyedi felhasználói ügynökkel
11 using (var httpClient = new HttpClient())
12 {
13 string userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36";
14 httpClient.DefaultRequestHeaders.UserAgent.ParseAdd(userAgent);
15
16 try
17 {
18 // Kérés küldése egyedi felhasználói ügynökkel
19 HttpResponseMessage response = await httpClient.GetAsync("https://example.com");
20 response.EnsureSuccessStatusCode();
21 string responseBody = await response.Content.ReadAsStringAsync();
22
23 Console.WriteLine($"Válasz érkezett a következő státusz kóddal: {response.StatusCode}");
24 Console.WriteLine(responseBody.Substring(0, 100) + "..."); // Az első 100 karakter
25 }
26 catch (HttpRequestException e)
27 {
28 Console.WriteLine($"Kérés hiba: {e.Message}");
29 }
30 }
31 }
32}
33
1// Go: HTTP kérések létrehozása egyedi felhasználói ügynökökkel
2package main
3
4import (
5 "fmt"
6 "io/ioutil"
7 "net/http"
8)
9
10func main() {
11 // Új kérés létrehozása
12 req, err := http.NewRequest("GET", "https://example.com", nil)
13 if err != nil {
14 fmt.Printf("Hiba a kérés létrehozásakor: %s\n", err)
15 return
16 }
17
18 // Egyedi felhasználói ügynök beállítása
19 req.Header.Set("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36")
20
21 // Kérés küldése
22 client := &http.Client{}
23 resp, err := client.Do(req)
24 if err != nil {
25 fmt.Printf("Hiba a kérés küldésekor: %s\n", err)
26 return
27 }
28 defer resp.Body.Close()
29
30 // Válasz olvasása
31 body, err := ioutil.ReadAll(resp.Body)
32 if err != nil {
33 fmt.Printf("Hiba a válasz olvasásakor: %s\n", err)
34 return
35 }
36
37 fmt.Printf("Válasz státusz: %s\n", resp.Status)
38 fmt.Printf("Válasz törzs előnézete: %s\n", body[:100])
39}
40
Gyakori Felhasználói Ügynök Minták
Íme néhány példa valódi felhasználói ügynök stringekre különböző böngészők és platformok esetében:
Asztali Böngészők
Chrome Windows-on:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
2
Firefox macOS-en:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:95.0) Gecko/20100101 Firefox/95.0
2
Safari macOS-en:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15
2
Edge Windows-on:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62
2
Mobil Böngészők
Chrome Android-on:
1Mozilla/5.0 (Linux; Android 12; SM-G998B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36
2
Safari iPhone-on:
1Mozilla/5.0 (iPhone; CPU iPhone OS 15_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Mobile/15E148 Safari/604.1
2
Firefox Android-on:
1Mozilla/5.0 (Android 12; Mobile; rv:95.0) Gecko/95.0 Firefox/95.0
2
Samsung Internet Galaxy-n:
1Mozilla/5.0 (Linux; Android 12; SM-G998B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/16.0 Chrome/92.0.4515.166 Mobile Safari/537.36
2
Hivatkozások
-
"Felhasználói ügynök." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent
-
"Böngésző Felhasználói Ügynök Stringek." WhatIsMyBrowser.com, https://www.whatismybrowser.com/guides/the-latest-user-agent/
-
"HTTP Felhasználói Ügynök Fejléc Magyarázata." KeyCDN, https://www.keycdn.com/support/user-agent
-
"Kliens Utalások." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/HTTP/Client_hints
-
"A böngésző felhasználói ügynök string története." WebAIM, https://webaim.org/blog/user-agent-string-history/
-
"Böngésző Észlelés a Felhasználói Ügynök Használatával." Google Developers, https://developer.chrome.com/docs/multidevice/user-agent/
Visszajelzés
Kattintson a visszajelzés toastra a visszajelzés megkezdéséhez erről az eszközről
Kapcsolódó Eszközök
Fedezzen fel több olyan eszközt, amely hasznos lehet a munkafolyamatához