Прескочи на садржај

Генератор случајних корисничких агената - Креирање Browser стрингова

Генеришите аутентичне стрингове корисничких агената за Chrome, Firefox, Safari и Edge. Тестирајте компатибилност прегледача, респонзивне дизајне и API-је са реалистичним идентификаторима прегледача.

Генератор случајних корисничких агената

Генеришите случајне, реалистичне низове корисничких агената прегледача за тестирање веб развоја.

Генерисани кориснички агент

Kalkulator učitavanja...
📚

Dokumentacija

Генератор случајних идентификатора корисничког агента

Генератор случајних идентификатора корисничког агента прави примерке стрингова корисничког агента — кратких текстуалних редова које веб-прегледач шаље веб-сајту да би се идентификовао. Овај алат прави стрингове у стварном формату који користе Chrome, Firefox, Safari и Edge, за десктоп и мобилне уређаје, па програмери могу да тестирају како сајт реагује на различите прегледаче без инсталирања сваког од њих.

Шта је стринг корисничког агента?

Сваки пут када прегледач затражи веб-страницу, он шаље HTTP заглавље User-Agent. Заглавље је један ред текста који описује име прегледача, његову верзију, оперативни систем и механизам за приказивање (део прегледача који исцртава страницу). Веб-сајт може да прочита ово заглавље и одлучи који распоред странице или функције да пошаље.

Типичан стринг корисничког агента изгледа овако:

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

Скоро сваки прегледач започиње свој стринг са „Mozilla/5.0“. То је остатак из 1990-их, када су веб-сајтови проверавали ту реч да би одлучили да ли је прегледач довољно способан за приказ странице. Новији прегледачи су задржали тај токен да их старе провере не би блокирале.

Како овај генератор ради

Алат има три контроле:

  1. Тип уређаја – десктоп или мобилни уређај.
  2. Породица прегледача – Chrome, Firefox, Safari или Edge.
  3. Оперативни систем – Windows, macOS или Linux за десктоп; iOS или Android за мобилне уређаје.

Не постоји свака комбинација у стварном свету, па алат ограничава избор. Safari се појављује само на macOS-у и iOS-у, јер Apple не испоручује Safari за Windows, Linux или Android. Chrome, Firefox и Edge доступни су на свим наведеним оперативним системима, укључујући iOS, где раде као љуска изнад Apple-овог механизма WebKit, а не користе сопствени механизам.

Кликом на „Generate New“ прави се стринг на основу ова три подешавања и насумично изабраног броја верзије. Дугме „Copy“ копира резултат у међуспремник.

Формат стринга корисничког агента по прегледачу

Сваки прегледач попуњава сличан шаблон сопственим токенима.

Chrome (десктоп):

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 (десктоп):

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 (десктоп):

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 захтева да сваки iOS прегледач користи WebKit, па облици за iOS изнад деле токен механизма AppleWebKit/605.1.15 из Safari-ја и додају ознаку специфичну за прегледач: CriOS/ за Chrome, FxiOS/ за Firefox и EdgiOS/ за Edge. Ниједан од њих нема токен Chrome/ или Gecko/. Safari и Edge на iOS-у такође шаљу токен Version/, који наводи верзију Safari-ја испоручену са оперативним системом, па се увек поклапа са верзијом iOS-а у истом стрингу.

Од 2021. године, Chrome и прегледачи засновани на Chromium-у, као што је Edge, замрзли су већину броја верзије на десктопу и Android-у како би смањили количину идентификационих података у заглављу; Google ову промену назива „смањење података корисничког агента“. Уместо стварног броја израде, Chrome токен у овим стринговима увек гласи major.0.0.0 (на пример 128.0.0.0), а овај генератор се понаша на исти начин. Изузетак је Edge-ов сопствени токен — Edg/ на десктопу, EdgA/ на Android-у и EdgiOS/ на iOS-у — као и Chrome на iOS-у (CriOS/), који и даље садрже пун број израде од четири дела, јер се Google-ова политика смањења не односи на њих.

Firefox није усвојио исто замрзавање. Његов стварни стринг верзије обично има само два дела, major.0, и то је облик који генератор прави. Верзија Firefox-а од три дела, као што је 95.0.2, може се појавити после безбедносне исправке, али овај алат генерише само облик од два дела.

Примери резултата

Chrome на 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

Firefox на macOS-у (десктоп):

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

Safari на 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

Edge на 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

Chrome на Android-у (мобилни):

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

Edge на 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

Safari на 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

Firefox на Android-у (мобилни):

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

Chrome на 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

Firefox на 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

Edge на 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

Разлике између десктопа и мобилних уређаја

Десктоп стрингови наводе оперативни систем и често архитектуру процесора: Win64; x64 за Windows од 64 бита или Intel Mac OS X за Mac рачунар. Они су углавном уједначени, јер треба представити само неколико десктоп платформи.

Мобилни стрингови обично додају реч „Mobile“ како би сајт знао да прикаже распоред прилагођен екрану осетљивом на додир. iOS уређаји се идентификују као „iPhone“, заједно са верзијом iOS-а, која се записује доњим цртама (17_4), при чему се завршна нулта исправка изоставља, па се користи 17_4, а не 17_4_0. Android је другачији: због исте политике смањења верзије која утиче на број израде Chrome-а, Chrome и Edge на Android-у увек пријављују платформу као Linux; Android 10; K, без обзира на верзију Android-а или модел телефона који се стварно користи. „K“ је резервисано место, а не стварна ознака уређаја, и стварна верзија Android-а је скривена. Firefox за Android не замрзава верзију на исти начин, већ пријављује стварну главну верзију Android-а, али уопште не наводи модел уређаја. Генератор који у стрингу Chrome-а за Android приказује одређени модел телефона, као што је број модела Galaxy-ја, не би одговарао понашању стварног, актуелног Chrome-а.

Зашто стрингови корисничког агента изгледају збуњујуће

Стринг изгледа претрпано због деценија закрпа за компатибилност. У „ратовима прегледача“ крајем 1990-их, неки сајтови су слали боље странице само Netscape-у или само Internet Explorer-у, проверавајући кључне речи у заглављу. Конкурентски прегледачи су одговарали додавањем истих кључних речи у сопствене стрингове како не би били одбијени. Зато Chrome-ов стринг и даље помиње „Safari“ и „like Gecko“, иако не користи ниједан механизам под тим називом. Сваки токен је остатак старог руковања намењеног испуњавању провере компатибилности, а не истинитом опису софтвера.

Пошто велики број сајтова и даље анализира ове стрингове, произвођачи прегледача не могу једноставно да уклоне тај вишак без нарушавања приказа страница. Дугорочна замена, названа наговештаји клијента корисничког агента, шаље податке о прегледачу као одвојена, структурисана заглавља уместо једног дугог стринга, али се класично заглавље User-Agent и даље шаље свуда ради компатибилности са старијим системима.

Уобичајене примене

  • Тестирање компатибилности. Проверите како се страница приказује када препозна одређени прегледач, без инсталирања тог прегледача.
  • Провера прилагодљивог дизајна. Потврдите да сајт приказује мобилни распоред када прими мобилни идентификатор корисничког агента, а иначе десктоп распоред.
  • Аутоматизовани скупови тестова. Убаците низ стрингова корисничког агента у тестне скрипте и проверите да ли код за препознавање прегледача исправно обрађује сваки од њих.
  • Тестирање API-ја и заглавља. Проверите да ли се сервер исправно понаша када различити типови клијената шаљу захтеве.

Ограничења

Заглавље корисничког агента само је један од многих сигнала које веб-сајт може да прочита. Скрипте које се извршавају на страници могу да провере на десетине других података, као што су инсталирани фонтови, величина екрана и начин на који графичка картица приказује тестну слику; та техника се назива дигитални отисак. Подешавање Chrome-овог идентификатора корисничког агента док се заправо прегледа у Firefox-у неће заварати сајт који проверава ове друге сигнале; неусклађеност се лако открива. Ипак, за свакодневни развој и обезбеђивање квалитета, правилно форматиран генерисани стринг довољан је за тестирање реакције серверског и клијентског кода сајта на различите прегледаче и уређаје.

Најчешће постављана питања

Шта је стринг корисничког агента? То је ред текста који прегледач шаље са сваким веб-захтевом и који наводи прегледач, његову верзију, оперативни систем и механизам за приказивање. Сервери га користе да одлуче који садржај или распоред да врате.

Зашто се Chrome-ова верзија увек завршава са .0.0.0? Од 2021. године Chrome је замрзнуо већину броја верзије који пријављује у заглављу User-Agent како би смањио могућност дигиталног отиска. Мења се само главни број верзије; остатак је фиксиран на .0.0.0. Edge-ов сопствени токен и сви прегледачи на iOS-у су изузеци и и даље приказују пун број израде.

Зашто iPhone стринг каже „Safari“ иако је изабран други прегледач? Apple захтева да сви iOS прегледачи користе његов механизам WebKit, па Chrome, Firefox и Edge на iOS-у сви пријављују WebKit и завршавају се токеном Safari/. Прегледач се наводи засебном ознаком: CriOS/ за Chrome, FxiOS/ за Firefox и EdgiOS/ за Edge.

Зашто Android стринг не приказује модел мог телефона? Савремени Chrome и Edge на Android-у за сваки уређај и сваку стварну верзију Android-а пријављују фиксни стринг платформе, Linux; Android 10; K, као део исте политике смањења верзије која утиче на број израде Chrome-а. Стварни модел и верзија Android-а нису доступни.

Могу ли да користим генерисани идентификатор корисничког агента за веб-скрепинг? Промена заглавља је могућа, али сајтови могу да открију неусклађеност преко других сигнала, а скрепинг може да крши услове коришћења сајта или правила датотеке robots.txt. Пре скрепинга проверите правила сајта.

Да ли је генерисани стринг идентичан стрингу са стварног уређаја? Он следи исти формат и редослед токена као стварни прегледач те врсте. Због замрзавања верзије Chrome-а и Edge-а на Android-у, генерисани стринг Chrome-а за Android и стварни стринг могу бити идентични у делу који описује платформу, јер стварни уређаји пријављују исту фиксну вредност.

Шта су наговештаји клијента и да ли замењују стринг корисничког агента? Наговештаји клијента су новији систем који податке о прегледачу и уређају шаље као одвојена HTTP заглавља уместо једног обједињеног стринга. Прегледачи постепено додају подршку за њих, али класично заглавље User-Agent и даље се широко користи јер се многи постојећи веб-сајтови и даље ослањају на њега.