Penjana Ejen Pengguna Rawak - Hasilkan Rentetan Pelayar
Hasilkan rentetan ejen pengguna tulen untuk Chrome, Firefox, Safari, dan Edge. Uji keserasian pelayar, reka bentuk responsif, dan API dengan pengenal pasti pelayar yang realistik.
Penjana User Agent Rawak
Jana rentetan user agent pelayar rawak dan realistik untuk pengujian pembangunan web.
User Agent Dijana
Dokumentasi
Penjana Ejen Pengguna Rawak
Penjana ejen pengguna rawak menghasilkan contoh rentetan ejen pengguna, iaitu baris teks ringkas yang dihantar pelayar web kepada laman web untuk mengenal pasti dirinya. Alat ini membina rentetan mengikut format sebenar yang digunakan oleh Chrome, Firefox, Safari dan Edge, untuk peranti desktop dan mudah alih, supaya pembangun boleh menguji tindak balas laman terhadap pelayar yang berbeza tanpa memasang setiap satunya.
Apakah Rentetan Ejen Pengguna?
Setiap kali pelayar meminta halaman web, pelayar menghantar pengepala HTTP User-Agent. Pengepala itu ialah satu baris teks yang menerangkan nama pelayar, versinya, sistem pengendalian dan enjin pemaparan (bahagian pelayar yang melukis halaman). Laman web boleh membaca pengepala ini untuk menentukan reka letak atau ciri halaman yang perlu dihantar.
Rentetan ejen pengguna biasa kelihatan seperti ini:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2Hampir setiap pelayar memulakan rentetannya dengan "Mozilla/5.0". Ini ialah peninggalan daripada tahun 1990-an, ketika laman web menyemak perkataan itu untuk menentukan sama ada pelayar cukup berkeupayaan untuk memaparkan halaman. Pelayar baharu mengekalkan token tersebut supaya tidak disekat oleh semakan lama.
Cara Penjana Ini Berfungsi
Alat ini mempunyai tiga kawalan:
- Jenis Peranti – Desktop atau Mudah Alih.
- Keluarga Pelayar – Chrome, Firefox, Safari atau Edge.
- Sistem Pengendalian – Windows, macOS atau Linux untuk desktop; iOS atau Android untuk mudah alih.
Tidak semua gabungan wujud dalam dunia sebenar, jadi alat ini mengehadkan pilihan. Safari hanya muncul pada macOS dan iOS kerana Apple tidak menyediakan Safari untuk Windows, Linux atau Android. Chrome, Firefox dan Edge tersedia pada semua sistem pengendalian yang disenaraikan, termasuk iOS, yang menjalankannya sebagai lapisan atas enjin WebKit Apple dan bukannya enjin sendiri.
Mengklik "Jana Baharu" membina rentetan daripada ketiga-tiga tetapan ini dan nombor versi yang dipilih secara rawak. Butang "Salin" menyalin hasilnya ke papan keratan.
Format Rentetan Ejen Pengguna Mengikut Pelayar
Setiap pelayar mengisi templat yang serupa dengan tokennya sendiri.
Chrome (desktop):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36
2Chrome (Android):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36
2Chrome (iOS):
1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/major.0.build.build Mobile/15E148 Safari/604.1
2Firefox (desktop):
1Mozilla/5.0 (platform; rv:major.0) Gecko/20100101 Firefox/major.0
2Firefox (Android):
1Mozilla/5.0 (Android version; Mobile; rv:major.0) Gecko/major.0 Firefox/major.0
2Firefox (iOS):
1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/major.0 Mobile/15E148 Safari/605.1.15
2Safari (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
2Safari (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
2Edge (desktop):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36 Edg/major.0.build.build
2Edge (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
2Edge (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
2Apple mewajibkan setiap pelayar iOS menggunakan WebKit, jadi bentuk iOS di atas berkongsi token enjin Safari AppleWebKit/605.1.15 dan menambah penanda khusus pelayar: CriOS/ untuk Chrome, FxiOS/ untuk Firefox dan EdgiOS/ untuk Edge. Tiada satu pun daripadanya membawa token Chrome/ atau Gecko/. Safari dan Edge pada iOS juga menghantar token Version/, yang menyatakan versi Safari yang disertakan bersama sistem pengendalian, jadi token itu sentiasa sepadan dengan versi iOS dalam rentetan yang sama.
Sejak 2021, Chrome dan pelayar berasaskan Chromium seperti Edge telah membekukan sebahagian besar nombor versinya pada desktop dan Android untuk mengurangkan jumlah butiran pengenalpastian dalam pengepala, iaitu perubahan yang dipanggil Google sebagai "Pengurangan Ejen Pengguna". Sebagai ganti nombor binaan sebenar, token Chrome dalam rentetan ini sentiasa berbunyi major.0.0.0 (contohnya 128.0.0.0), dan penjana ini mengikut tingkah laku tersebut. Pengecualiannya ialah token Edge sendiri — Edg/ pada desktop, EdgA/ pada Android, EdgiOS/ pada iOS — serta Chrome yang berjalan pada iOS (CriOS/), yang masih membawa nombor binaan empat bahagian penuh kerana dasar pengurangan Google tidak terpakai kepadanya.
Firefox tidak menggunakan pembekuan yang sama. Rentetan versinya biasanya hanya mempunyai dua bahagian, major.0, dan itulah yang dihasilkan oleh penjana. Versi Firefox tiga bahagian seperti 95.0.2 boleh muncul selepas tampalan keselamatan, tetapi alat ini hanya menjana bentuk dua bahagian.
Contoh Output
Chrome desktop pada Windows:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2Firefox desktop pada macOS:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
2Safari desktop pada 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
2Edge desktop pada 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
2Chrome mudah alih pada Android:
1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36
2Edge mudah alih pada 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
2Safari mudah alih pada 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
2Firefox mudah alih pada Android:
1Mozilla/5.0 (Android 13; Mobile; rv:130.0) Gecko/130.0 Firefox/130.0
2Chrome mudah alih pada 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
2Firefox mudah alih pada 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
2Edge mudah alih pada 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
2Perbezaan Desktop dan Mudah Alih
Rentetan desktop menyatakan sistem pengendalian dan, lazimnya, seni bina pemproses: Win64; x64 untuk Windows 64-bit, atau Intel Mac OS X untuk Mac. Rentetan ini agak seragam kerana hanya terdapat beberapa platform desktop untuk diwakili.
Rentetan mudah alih biasanya menambah perkataan "Mobile" supaya laman mengetahui bahawa reka letak yang mesra skrin sentuh perlu disediakan. Peranti iOS mengenal pasti dirinya sebagai "iPhone" bersama versi iOS, yang ditulis menggunakan garis bawah (17_4) dan tanpa sifar tampalan di hujung, jadi 17_4 dan bukannya 17_4_0. Android berbeza: disebabkan dasar pengurangan versi yang sama, yang mempengaruhi nombor binaan Chrome, Chrome dan Edge pada Android sentiasa melaporkan platform sebagai Linux; Android 10; K, tanpa mengira versi Android atau model telefon yang sebenarnya digunakan. "K" ialah ruang letak, bukan kod peranti sebenar, dan versi Android sebenar disembunyikan. Firefox untuk Android tidak membekukan versi dengan cara yang sama dan sebaliknya melaporkan versi utama Android sebenar, tetapi tidak memasukkan model peranti. Penjana yang memaparkan model telefon tertentu, seperti nombor model Galaxy, dalam rentetan Chrome Android tidak akan sepadan dengan tingkah laku Chrome semasa yang sebenar.
Mengapa Rentetan Ejen Pengguna Kelihatan Mengelirukan
Rentetan itu kelihatan berserabut kerana tampalan keserasian selama beberapa dekad. Dalam "perang pelayar" pada penghujung tahun 1990-an, sesetengah laman menghantar halaman yang lebih baik hanya kepada Netscape atau hanya kepada Internet Explorer dengan menyemak kata kunci dalam pengepala. Pelayar pesaing bertindak balas dengan menambah kata kunci yang sama pada rentetan mereka supaya tidak ditolak. Itulah sebabnya rentetan Chrome masih menyebut "Safari" dan "like Gecko" walaupun tidak menggunakan mana-mana enjin yang dinamakan itu. Setiap token ialah baki mekanisme perhubungan yang bertujuan memenuhi semakan keserasian lama, bukannya penerangan sebenar tentang perisian.
Oleh sebab begitu banyak laman masih menghuraikan rentetan ini, pembuat pelayar tidak boleh mengalih keluar semua kekusutan itu begitu sahaja tanpa menyebabkan halaman rosak. Pengganti jangka panjangnya, yang dipanggil User-Agent Client Hints, menghantar butiran pelayar sebagai pengepala berstruktur yang berasingan dan bukannya satu rentetan panjang, tetapi pengepala klasik User-Agent masih dihantar di mana-mana demi keserasian ke belakang.
Kegunaan Umum
- Ujian keserasian. Semak cara halaman dipaparkan apabila mengesan pelayar tertentu, tanpa memasang pelayar tersebut.
- Semakan reka bentuk responsif. Sahkan bahawa laman menyediakan reka letak mudah alih apabila menerima ejen pengguna mudah alih, dan reka letak desktop selainnya.
- Suit ujian automatik. Masukkan pelbagai rentetan ejen pengguna ke dalam skrip ujian untuk menyemak bahawa kod pengesanan pelayar mengendalikan setiap satunya dengan betul.
- Ujian API dan pengepala. Sahkan bahawa pelayan bertindak dengan betul apabila jenis klien yang berbeza menghantar permintaan.
Had
Pengepala ejen pengguna hanyalah satu daripada banyak isyarat yang boleh dibaca oleh laman web. Skrip yang berjalan dalam halaman boleh menyemak berpuluh-puluh butiran lain, seperti fon yang dipasang, saiz skrin dan cara kad grafik memaparkan imej ujian, iaitu teknik yang dipanggil cap jari peranti. Menetapkan ejen pengguna Chrome ketika sebenarnya melayari menggunakan Firefox tidak akan memperdayakan laman yang menyemak isyarat lain ini; ketidakpadanan itu mudah dikesan. Namun, untuk kerja pembangunan dan QA harian, rentetan yang dijana dengan format yang betul sudah memadai untuk menguji tindak balas kod pelayan dan klien laman terhadap pelayar serta peranti yang berbeza.
Soalan lazim
Apakah rentetan ejen pengguna? Ia ialah baris teks yang dihantar oleh pelayar bersama setiap permintaan web, yang menyatakan nama pelayar, versinya, sistem pengendalian dan enjin pemaparan. Pelayan menggunakannya untuk menentukan kandungan atau reka letak yang perlu dikembalikan.
Mengapa versi Chrome sentiasa berakhir dengan .0.0.0?
Sejak 2021, Chrome telah membekukan sebahagian besar nombor versi yang dilaporkannya dalam pengepala User-Agent untuk mengurangkan cap jari peranti. Hanya nombor versi utama berubah; selebihnya ditetapkan pada .0.0.0. Token Edge sendiri dan setiap pelayar pada iOS ialah pengecualian dan masih memaparkan nombor binaan penuh.
Mengapa rentetan iPhone menyebut "Safari" walaupun pelayar lain dipilih?
Apple mewajibkan semua pelayar iOS menggunakan enjin WebKitnya, jadi Chrome, Firefox dan Edge pada iOS semuanya melaporkan WebKit dan berakhir dengan token Safari/. Pelayar dikenal pasti oleh penanda berasingan: CriOS/ untuk Chrome, FxiOS/ untuk Firefox dan EdgiOS/ untuk Edge.
Mengapa rentetan Android tidak menunjukkan model telefon saya?
Chrome dan Edge moden pada Android melaporkan rentetan platform tetap, Linux; Android 10; K, untuk setiap peranti dan setiap versi Android sebenar, sebagai sebahagian daripada dasar pengurangan versi yang sama yang mempengaruhi nombor binaan Chrome. Model sebenar dan versi Android tidak didedahkan.
Bolehkah saya menggunakan ejen pengguna yang dijana untuk pengikisan web?
Menukar pengepala boleh dilakukan, tetapi laman boleh mengesan ketidakpadanan melalui isyarat lain, dan pengikisan mungkin melanggar syarat perkhidmatan laman atau peraturan robots.txt. Semak dasar laman sebelum mengikisnya.
Adakah rentetan yang dijana serupa sepenuhnya dengan rentetan daripada peranti sebenar? Rentetan itu mengikut format dan susunan token yang sama seperti pelayar sebenar bagi jenis tersebut. Disebabkan pembekuan versi Chrome dan Edge pada Android, rentetan Chrome Android yang dijana dan rentetan sebenar boleh sama bagi bahagian platform kerana peranti sebenar melaporkan nilai tetap yang sama.
Apakah Client Hints, dan adakah ia menggantikan rentetan ejen pengguna?
Client Hints ialah sistem baharu yang menghantar butiran pelayar dan peranti sebagai pengepala HTTP berasingan dan bukannya satu rentetan gabungan. Pelayar mula menyokongnya, tetapi pengepala klasik User-Agent masih digunakan secara meluas kerana banyak laman web sedia ada masih bergantung padanya.