Generator User Agent Acak untuk Pengujian Pengembangan Web
Hasilkan string user agent browser yang realistis dengan opsi untuk memfilter berdasarkan jenis perangkat, keluarga browser, dan sistem operasi. Sempurna untuk pengujian pengembangan web dan pemeriksaan kompatibilitas.
Generator User Agent Acak
Hasilkan string user agent browser acak dan realistis untuk pengujian pengembangan web.
User Agent yang Dihasilkan
Dokumentasi
Pembuat User Agent Acak
Pendahuluan
String User Agent adalah pengenal teks spesifik yang dikirimkan oleh browser web dan aplikasi lain ke situs web untuk mengidentifikasi diri mereka. String ini biasanya berisi informasi tentang browser, sistem operasi, jenis perangkat, dan mesin rendering yang digunakan. Bagi pengembang web dan penguji, memiliki akses ke berbagai string user agent yang realistis sangat penting untuk menguji kompatibilitas, responsivitas, dan fungsionalitas situs web di berbagai platform.
Alat Pembuat User Agent Acak ini membuat string user agent yang terlihat autentik berdasarkan parameter yang Anda pilih. Anda dapat memfilter berdasarkan jenis perangkat (desktop atau mobile), keluarga browser (Chrome, Firefox, Safari, atau Edge), dan sistem operasi untuk menghasilkan user agent yang sesuai dengan kebutuhan pengujian Anda. Alat ini menyediakan antarmuka sederhana dengan opsi untuk menyalin string yang dihasilkan dengan satu klik dan menghasilkan string acak baru secara instan.
Struktur User Agent
String user agent mengikuti pola tertentu tergantung pada browser dan platform, tetapi umumnya mengandung beberapa komponen umum:
- Pengenal Browser: Biasanya dimulai dengan "Mozilla/5.0" untuk alasan kompatibilitas historis
- Informasi Platform/OS: Rincian tentang sistem operasi (Windows, macOS, Android, iOS)
- Mesin Browser: Mesin rendering (seperti Gecko, WebKit, atau Blink)
- Rincian Browser: Nama dan versi browser spesifik
Berikut adalah rincian struktur user agent yang umum untuk browser utama:
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
Bagian platform bervariasi secara signifikan antara perangkat desktop dan mobile:
Contoh Desktop:
- Windows:
Windows NT 10.0; Win64; x64
- macOS:
Macintosh; Intel Mac OS X 10_15_7
- Linux:
X11; Linux x86_64
Contoh Mobile:
- Android:
Linux; Android 12; SM-G998B
- iOS:
iPhone; CPU iPhone OS 15_4 like Mac OS X
Perbedaan Jenis Perangkat
User Agent Desktop
User agent desktop biasanya menyertakan informasi sistem operasi tertentu, rincian arsitektur (seperti x86_64 atau Win64), dan kadang-kadang preferensi bahasa. Mereka cenderung lebih konsisten di seluruh browser dibandingkan dengan user agent mobile.
User Agent Mobile
User agent mobile berisi informasi model perangkat, versi sistem operasi mobile, dan sering kali menyertakan kata "Mobile" di akhir. Safari mobile di perangkat iOS akan menyertakan pengenal "iPhone" atau "iPad", sementara perangkat Android menyertakan produsen dan nomor model.
Pola Versi Browser
Setiap browser mengikuti pola penomoran versi yang berbeda:
- Chrome: Menggunakan nomor versi empat bagian (misalnya, 96.0.4664.110)
- Firefox: Biasanya menggunakan nomor versi dua atau tiga bagian (misalnya, 95.0 atau 95.0.2)
- Safari: Menggunakan nomor versi sederhana seperti 15.2
- Edge: Menggunakan nomor versi yang mirip dengan Chrome tetapi dengan versi Edge-nya sendiri (misalnya, 96.0.1054.62)
Kasus Penggunaan
Generasi user agent acak memiliki beberapa aplikasi penting dalam pengembangan dan pengujian web:
-
Pengujian Kompatibilitas Lintas Browser: Uji bagaimana situs web Anda dirender dan berfungsi di berbagai browser tanpa perlu menginstal beberapa browser atau menggunakan beberapa perangkat.
-
Pengujian Desain Responsif: Verifikasi bahwa situs web Anda dapat mendeteksi perangkat mobile dan desktop dengan benar dan menyajikan tata letak yang sesuai.
-
Validasi Deteksi Fitur: Pastikan bahwa mekanisme deteksi fitur situs web Anda berfungsi dengan benar untuk berbagai kemampuan browser.
-
Pengujian QA dan Otomatis: Mengintegrasikan berbagai user agent ke dalam skrip pengujian otomatis Anda untuk mensimulasikan berbagai lingkungan pengguna.
-
Pengujian Kinerja: Menganalisis bagaimana situs web Anda berkinerja saat diakses dari berbagai lingkungan browser.
-
Memecahkan Masalah Khusus Browser: Memproduksi dan memperbaiki bug yang hanya terjadi di browser atau versi tertentu.
-
Pengujian API: Menguji bagaimana API Anda menangani permintaan dari berbagai aplikasi klien.
Alternatif
Meskipun pembuat user agent acak kami berguna untuk banyak skenario pengujian, ada pendekatan alternatif:
-
Layanan Pengujian Browser: Platform seperti BrowserStack, Sauce Labs, atau LambdaTest menyediakan instance browser nyata untuk pengujian daripada hanya mensimulasikan user agent.
-
Alat Pengembang Browser: Sebagian besar browser modern memungkinkan Anda untuk menimpa user agent melalui alat pengembang mereka, yang bisa berguna untuk pengujian cepat.
-
Ekstensi Pengalih User Agent: Ekstensi browser yang memungkinkan Anda beralih antara user agent yang telah ditentukan saat menjelajah.
-
Mesin Virtual atau Kontainer: Menjalankan instance nyata dari berbagai sistem operasi dan browser untuk pengujian yang paling akurat.
-
Pengujian Browser Headless: Menggunakan alat seperti Puppeteer atau Selenium untuk mengontrol browser secara programatis dengan pengaturan user agent yang berbeda.
Setiap alternatif memiliki keunggulan tersendiri dan mungkin lebih sesuai tergantung pada kebutuhan pengujian dan sumber daya spesifik Anda.
Sejarah
Konsep string user agent sudah ada sejak awal hari-hari World Wide Web. Istilah "user agent" berasal dari spesifikasi HTTP, di mana ia merujuk pada aplikasi klien yang membuat permintaan ke server web.
Hari-Hari Awal (1990-an)
Browser pertama yang banyak digunakan, NCSA Mosaic, menyertakan string user agent sederhana yang mengidentifikasi nama dan versi browser. Ketika Netscape Navigator dirilis, ia menggunakan format serupa. Namun, ketika server web mulai menyajikan konten yang berbeda berdasarkan browser, praktik yang dikenal sebagai "penyaringan browser" muncul.
Perang Browser dan Penipuan User Agent (Akhir 1990-an)
Selama perang browser antara Netscape dan Internet Explorer, situs web sering menyajikan konten yang dioptimalkan secara eksklusif untuk browser tertentu. Untuk memastikan kompatibilitas, browser mulai menyertakan string yang mengidentifikasi diri mereka sebagai browser lain. Inilah sebabnya mengapa sebagian besar browser modern masih menyertakan "Mozilla" dalam string user agent mereka, sebagai referensi untuk nama kode Netscape Navigator.
Revolusi Mobile (2000-an-2010-an)
Munculnya perangkat mobile memperkenalkan kompleksitas baru pada string user agent. Browser mobile perlu mengidentifikasi diri mereka sebagai mobile untuk menerima konten yang sesuai, yang mengarah pada penambahan pengenal perangkat dan token khusus mobile.
Tantangan Modern (2010-an-Sekarang)
Seiring ekosistem web semakin kompleks, string user agent menjadi semakin rumit. Mereka sekarang mengandung referensi ke beberapa mesin browser (seperti "AppleWebKit" dan "Gecko") untuk alasan kompatibilitas, bahkan ketika mesin tersebut sebenarnya tidak digunakan.
Kompleksitas ini telah menyebabkan tantangan dalam mengurai string user agent secara akurat, dan beberapa kelompok standar web telah mengusulkan untuk mendepresiasi atau menyederhanakan string user agent demi petunjuk klien yang lebih terstruktur. Namun, demi alasan kompatibilitas ke belakang, string user agent tradisional tetap menjadi bagian penting dari penjelajahan web.
Contoh Kode
Berikut adalah contoh cara bekerja dengan string user agent dalam berbagai bahasa pemrograman:
1// JavaScript: Mendeteksi jenis browser dari user agent
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 "Tidak Dikenal";
21 }
22}
23
24// Penggunaan
25console.log("Anda menggunakan: " + detectBrowser());
26
1# Python: Mengatur user agent kustom dalam permintaan
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# Contoh penggunaan
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]) # Cetak 100 karakter pertama dari respons
15
1<?php
2// PHP: Mendeteksi perangkat mobile menggunakan user agent
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// Penggunaan
16if (isMobileDevice()) {
17 echo "Anda menggunakan perangkat mobile.";
18} else {
19 echo "Anda menggunakan perangkat desktop.";
20}
21?>
22
1// Java: Menghasilkan user agent acak
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: Mengurai string user agent
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# Contoh penggunaan
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#: Mengatur user agent dalam HttpClient
2using System;
3using System.Net.Http;
4using System.Threading.Tasks;
5
6class Program
7{
8 static async Task Main()
9 {
10 // Buat HttpClient dengan user agent kustom
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 // Lakukan permintaan dengan user agent kustom
19 HttpResponseMessage response = await httpClient.GetAsync("https://example.com");
20 response.EnsureSuccessStatusCode();
21 string responseBody = await response.Content.ReadAsStringAsync();
22
23 Console.WriteLine($"Respons diterima dengan status kode: {response.StatusCode}");
24 Console.WriteLine(responseBody.Substring(0, 100) + "..."); // 100 karakter pertama
25 }
26 catch (HttpRequestException e)
27 {
28 Console.WriteLine($"Kesalahan permintaan: {e.Message}");
29 }
30 }
31 }
32}
33
1// Go: Membuat permintaan HTTP dengan user agent kustom
2package main
3
4import (
5 "fmt"
6 "io/ioutil"
7 "net/http"
8)
9
10func main() {
11 // Buat permintaan baru
12 req, err := http.NewRequest("GET", "https://example.com", nil)
13 if err != nil {
14 fmt.Printf("Kesalahan saat membuat permintaan: %s\n", err)
15 return
16 }
17
18 // Atur user agent kustom
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 // Kirim permintaan
22 client := &http.Client{}
23 resp, err := client.Do(req)
24 if err != nil {
25 fmt.Printf("Kesalahan saat mengirim permintaan: %s\n", err)
26 return
27 }
28 defer resp.Body.Close()
29
30 // Baca respons
31 body, err := ioutil.ReadAll(resp.Body)
32 if err != nil {
33 fmt.Printf("Kesalahan saat membaca respons: %s\n", err)
34 return
35 }
36
37 fmt.Printf("Status respons: %s\n", resp.Status)
38 fmt.Printf("Prabaca isi respons: %s\n", body[:100])
39}
40
Pola User Agent Umum
Berikut adalah beberapa contoh string user agent nyata untuk berbagai browser dan platform:
Browser Desktop
Chrome di Windows:
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 di macOS:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:95.0) Gecko/20100101 Firefox/95.0
2
Safari di macOS:
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 di Windows:
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
Browser Mobile
Chrome di Android:
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 di iPhone:
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 di Android:
1Mozilla/5.0 (Android 12; Mobile; rv:95.0) Gecko/95.0 Firefox/95.0
2
Internet Samsung di Galaxy:
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
Referensi
-
"User Agent." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent
-
"String User Agent Browser." WhatIsMyBrowser.com, https://www.whatismybrowser.com/guides/the-latest-user-agent/
-
"Header User-Agent HTTP Dijelaskan." KeyCDN, https://www.keycdn.com/support/user-agent
-
"Petunjuk Klien." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/HTTP/Client_hints
-
"Sejarah string user-agent browser." WebAIM, https://webaim.org/blog/user-agent-string-history/
-
"Deteksi Browser Menggunakan User Agent." Google Developers, https://developer.chrome.com/docs/multidevice/user-agent/
Umpan Balik
Klik toast umpan balik untuk mulai memberikan umpan balik tentang alat ini
Alat Terkait
Temukan lebih banyak alat yang mungkin berguna untuk alur kerja Anda