വെബ് വികസന പരീക്ഷണത്തിന് റാൻഡം യൂസർ ഏജന്റ് ജനറേറ്റർ
ഉപകരണത്തിന്റെ തരം, ബ്രൗസർ കുടുംബം, ഓപ്പറേറ്റിംഗ് സിസ്റ്റം എന്നിവയാൽ ഫിൽട്ടർ ചെയ്യാനുള്ള ഓപ്ഷനുകൾക്കൊപ്പം യാഥാർത്ഥ്യപരമായ ബ്രൗസർ യൂസർ ഏജന്റ് സ്ട്രിംഗ്സ് ജനറേറ്റ് ചെയ്യുക. വെബ് വികസന പരീക്ഷണത്തിനും അനുയോജ്യതാ പരിശോധനകൾക്കും മികച്ചത്.
ആനുകാലിക ഉപയോക്തൃ ഏജന്റ് ജനറേറ്റർ
വെബ് വികസന പരിശോധനയ്ക്ക് യാഥാർത്ഥ്യമായ, ആനുകാലിക ബ്രൗസർ ഉപയോക്തൃ ഏജന്റ് സ്ട്രിംഗ്കൾ സൃഷ്ടിക്കുക.
ജനനമായ ഉപയോക്തൃ ഏജന്റ്
ഡോക്യുമെന്റേഷൻ
यादृच्छिक उपयोगकर्ता एजेंट जनरेटर
परिचय
एक उपयोगकर्ता एजेंट स्ट्रिंग एक विशिष्ट पाठ पहचानकर्ता है जो वेब ब्राउज़र और अन्य अनुप्रयोग वेबसाइटों को पहचानने के लिए भेजते हैं। यह स्ट्रिंग आमतौर पर ब्राउज़र, ऑपरेटिंग सिस्टम, डिवाइस प्रकार, और उपयोग किए जा रहे रेंडरिंग इंजन के बारे में जानकारी रखती है। वेब डेवलपर्स और परीक्षकों के लिए, विभिन्न वास्तविक उपयोगकर्ता एजेंट स्ट्रिंग्स तक पहुंच होना आवश्यक है ताकि वेबसाइट की संगतता, उत्तरदायित्व, और विभिन्न प्लेटफार्मों पर कार्यक्षमता का परीक्षण किया जा सके।
यह यादृच्छिक उपयोगकर्ता एजेंट जनरेटर उपकरण आपके द्वारा चुने गए मानकों के आधार पर प्रामाणिक दिखने वाले उपयोगकर्ता एजेंट स्ट्रिंग्स बनाता है। आप डिवाइस प्रकार (डेस्कटॉप या मोबाइल), ब्राउज़र परिवार (क्रोम, फायरफॉक्स, सफारी, या एज), और ऑपरेटिंग सिस्टम द्वारा फ़िल्टर कर सकते हैं ताकि उपयोगकर्ता एजेंट उत्पन्न किए जा सकें जो आपके परीक्षण आवश्यकताओं से मेल खाते हैं। यह उपकरण एक सरल इंटरफ़ेस प्रदान करता है जिसमें एक क्लिक के साथ उत्पन्न स्ट्रिंग को कॉपी करने और तुरंत नए यादृच्छिक स्ट्रिंग उत्पन्न करने के विकल्प होते हैं।
उपयोगकर्ता एजेंट संरचना
उपयोगकर्ता एजेंट स्ट्रिंग्स विशिष्ट पैटर्न का पालन करती हैं जो ब्राउज़र और प्लेटफ़ॉर्म के आधार पर होती हैं, लेकिन वे सामान्यतः कई सामान्य घटकों को शामिल करती हैं:
- ब्राउज़र पहचानकर्ता: आमतौर पर ऐतिहासिक संगतता कारणों से "Mozilla/5.0" से शुरू होता है
- प्लेटफ़ॉर्म/ओएस जानकारी: ऑपरेटिंग सिस्टम (Windows, macOS, Android, iOS) के बारे में विवरण
- ब्राउज़र इंजन: रेंडरिंग इंजन (जैसे Gecko, WebKit, या Blink)
- ब्राउज़र विवरण: विशिष्ट ब्राउज़र का नाम और संस्करण
यहां प्रमुख ब्राउज़रों के लिए सामान्य उपयोगकर्ता एजेंट संरचनाओं का विवरण दिया गया है:
क्रोम
1Mozilla/5.0 (platform; details) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/version Safari/537.36
2
फायरफॉक्स
1Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion
2
सफारी
1Mozilla/5.0 (platform) AppleWebKit/webkitversion (KHTML, like Gecko) Version/safariversion Safari/safariversion
2
एज
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/chromiumversion Safari/537.36 Edg/edgeversion
2
प्लेटफ़ॉर्म अनुभाग डेस्कटॉप और मोबाइल उपकरणों के बीच काफी भिन्न हो सकता है:
डेस्कटॉप उदाहरण:
- Windows:
Windows NT 10.0; Win64; x64
- macOS:
Macintosh; Intel Mac OS X 10_15_7
- Linux:
X11; Linux x86_64
मोबाइल उदाहरण:
- Android:
Linux; Android 12; SM-G998B
- iOS:
iPhone; CPU iPhone OS 15_4 like Mac OS X
डिवाइस प्रकार भिन्नताएँ
डेस्कटॉप उपयोगकर्ता एजेंट
डेस्कटॉप उपयोगकर्ता एजेंट आमतौर पर विशिष्ट ऑपरेटिंग सिस्टम जानकारी, आर्किटेक्चर विवरण (जैसे x86_64 या Win64), और कभी-कभी भाषा प्राथमिकताएँ शामिल करते हैं। वे मोबाइल उपयोगकर्ता एजेंट की तुलना में ब्राउज़रों के बीच अधिक स्थिर होते हैं।
मोबाइल उपयोगकर्ता एजेंट
मोबाइल उपयोगकर्ता एजेंट डिवाइस मॉडल जानकारी, मोबाइल ऑपरेटिंग सिस्टम संस्करण, और अक्सर अंत में "मोबाइल" शब्द शामिल करते हैं। iOS उपकरणों पर मोबाइल सफारी "iPhone" या "iPad" पहचानकर्ताओं को शामिल करेगी, जबकि Android उपकरणों में निर्माता और मॉडल संख्या शामिल होती है।
ब्राउज़र संस्करण पैटर्न
प्रत्येक ब्राउज़र अलग-अलग संस्करण पैटर्न का पालन करता है:
- क्रोम: चार-भाग वाले संस्करण नंबर (जैसे 96.0.4664.110) का उपयोग करता है
- फायरफॉक्स: आमतौर पर दो या तीन-भाग वाले संस्करण नंबर (जैसे 95.0 या 95.0.2) का उपयोग करता है
- सफारी: सरल संस्करण नंबर जैसे 15.2 का उपयोग करता है
- एज: क्रोम के समान संस्करण नंबर का उपयोग करता है लेकिन अपने स्वयं के एज संस्करण के साथ (जैसे 96.0.1054.62)
उपयोग के मामले
यादृच्छिक उपयोगकर्ता एजेंट उत्पन्न करने के कई महत्वपूर्ण अनुप्रयोग हैं जो वेब विकास और परीक्षण में उपयोग होते हैं:
-
क्रॉस-ब्राउज़र संगतता परीक्षण: बिना कई ब्राउज़रों को स्थापित किए या कई उपकरणों का उपयोग किए बिना यह परीक्षण करें कि आपकी वेबसाइट विभिन्न ब्राउज़रों में कैसे प्रदर्शित और कार्य करती है।
-
उत्तरदायी डिज़ाइन परीक्षण: यह सत्यापित करें कि आपकी वेबसाइट सही ढंग से मोबाइल और डेस्कटॉप उपकरणों का पता लगाती है और उपयुक्त लेआउट प्रदान करती है।
-
विशेषता पहचान सत्यापन: सुनिश्चित करें कि आपकी वेबसाइट की विशेषता पहचान तंत्र विभिन्न ब्राउज़र क्षमताओं के लिए सही ढंग से काम करती है।
-
QA और स्वचालित परीक्षण: अपने स्वचालित परीक्षण स्क्रिप्ट में विभिन्न उपयोगकर्ता एजेंटों को शामिल करें ताकि विभिन्न उपयोगकर्ता वातावरण का अनुकरण किया जा सके।
-
प्रदर्शन परीक्षण: यह विश्लेषण करें कि आपकी वेबसाइट विभिन्न ब्राउज़र वातावरण से पहुंचने पर कैसे प्रदर्शन करती है।
-
ब्राउज़र-विशिष्ट समस्याओं का डिबगिंग: उन बगों को पुन: उत्पन्न और ठीक करें जो केवल विशिष्ट ब्राउज़रों या संस्करणों में होते हैं।
-
API परीक्षण: यह परीक्षण करें कि आपकी API विभिन्न क्लाइंट अनुप्रयोगों से अनुरोधों को कैसे संभालती है।
विकल्प
हालांकि हमारा यादृच्छिक उपयोगकर्ता एजेंट जनरेटर कई परीक्षण परिदृश्यों के लिए उपयोगी है, अन्य दृष्टिकोण भी हैं:
-
ब्राउज़र परीक्षण सेवाएँ: BrowserStack, Sauce Labs, या LambdaTest जैसे प्लेटफ़ॉर्म वास्तविक ब्राउज़र उदाहरण प्रदान करते हैं परीक्षण के लिए, न कि केवल उपयोगकर्ता एजेंट का अनुकरण करने के लिए।
-
ब्राउज़र डेवलपर उपकरण: अधिकांश आधुनिक ब्राउज़र आपको अपने डेवलपर उपकरणों के माध्यम से उपयोगकर्ता एजेंट को ओवरराइड करने की अनुमति देते हैं, जो त्वरित परीक्षण के लिए उपयोगी हो सकता है।
-
उपयोगकर्ता एजेंट स्विचर एक्सटेंशन: ब्राउज़िंग करते समय पूर्वनिर्धारित उपयोगकर्ता एजेंटों के बीच स्विच करने के लिए ब्राउज़र एक्सटेंशन।
-
वर्चुअल मशीनें या कंटेनर: विभिन्न ऑपरेटिंग सिस्टम और ब्राउज़रों के वास्तविक उदाहरणों को चलाना सबसे सटीक परीक्षण के लिए।
-
हेडलेस ब्राउज़र परीक्षण: Puppeteer या Selenium जैसे उपकरणों का उपयोग करके विभिन्न उपयोगकर्ता एजेंट सेटिंग्स के साथ ब्राउज़रों को प्रोग्रामेटिक रूप से नियंत्रित करना।
प्रत्येक विकल्प के अपने लाभ होते हैं और आपके विशिष्ट परीक्षण आवश्यकताओं और संसाधनों के आधार पर अधिक उपयुक्त हो सकते हैं।
इतिहास
उपयोगकर्ता एजेंट स्ट्रिंग का विचार विश्वव्यापी वेब के प्रारंभिक दिनों से आता है। "उपयोगकर्ता एजेंट" शब्द HTTP विनिर्देशन से आता है, जहाँ यह एक क्लाइंट एप्लिकेशन को संदर्भित करता है जो वेब सर्वर को अनुरोध भेजता है।
प्रारंभिक दिन (1990 के दशक)
पहला व्यापक रूप से उपयोग किया जाने वाला ब्राउज़र, NCSA Mosaic, एक सरल उपयोगकर्ता एजेंट स्ट्रिंग शामिल करता था जो ब्राउज़र का नाम और संस्करण पहचानता था। जब Netscape Navigator जारी हुआ, तो उसने एक समान प्रारूप का उपयोग किया। हालाँकि, जैसे-जैसे वेब सर्वर ने ब्राउज़र के आधार पर विभिन्न सामग्री वितरित करना शुरू किया, "ब्राउज़र स्निफ़िंग" के रूप में जानी जाने वाली एक प्रथा उभरी।
ब्राउज़र युद्ध और उपयोगकर्ता एजेंट धोखाधड़ी (1990 के दशक के अंत)
Netscape और Internet Explorer के बीच ब्राउज़र युद्ध के दौरान, वेबसाइटें अक्सर विशेष रूप से विशिष्ट ब्राउज़रों के लिए अनुकूलित सामग्री प्रदान करती थीं। संगतता सुनिश्चित करने के लिए, ब्राउज़रों ने अन्य ब्राउज़रों के रूप में पहचानने के लिए स्ट्रिंग्स शामिल करना शुरू कर दिया। यही कारण है कि अधिकांश आधुनिक ब्राउज़र अभी भी अपने उपयोगकर्ता एजेंट स्ट्रिंग्स में "Mozilla" शामिल करते हैं, जो Netscape Navigator के कोड नाम का संदर्भ है।
मोबाइल क्रांति (2000 के दशक-2010 के दशक)
मोबाइल उपकरणों के उदय ने उपयोगकर्ता एजेंट स्ट्रिंग्स में नई जटिलता पेश की। मोबाइल ब्राउज़रों को मोबाइल के रूप में पहचानने की आवश्यकता थी ताकि उपयुक्त सामग्री प्राप्त की जा सके, जिसके परिणामस्वरूप डिवाइस पहचानकर्ताओं और मोबाइल-विशिष्ट टोकन का जोड़ हुआ।
आधुनिक चुनौतियाँ (2010 के दशक-प्रस्तुत)
जैसे-जैसे वेब पारिस्थितिकी प्रणाली अधिक जटिल होती गई, उपयोगकर्ता एजेंट स्ट्रिंग्स और अधिक उलझन में आ गईं। अब वे कई ब्राउज़र इंजनों (जैसे "AppleWebKit" और "Gecko") के संदर्भों को शामिल करती हैं संगतता कारणों के लिए, भले ही उन इंजनों का वास्तव में उपयोग नहीं किया जा रहा हो।
इस जटिलता ने उपयोगकर्ता एजेंट स्ट्रिंग्स को सटीक रूप से पार्स करने में चुनौतियाँ पैदा की हैं, और कुछ वेब मानक समूहों ने उपयोगकर्ता एजेंट स्ट्रिंग्स को समाप्त करने या सरल बनाने का प्रस्ताव दिया है ताकि अधिक संरचित क्लाइंट हिंट्स का उपयोग किया जा सके। हालाँकि, पिछली संगतता कारणों से, पारंपरिक उपयोगकर्ता एजेंट स्ट्रिंग अभी भी वेब ब्राउज़िंग का एक आवश्यक भाग बनी हुई है।
कोड उदाहरण
यहाँ विभिन्न प्रोग्रामिंग भाषाओं में उपयोगकर्ता एजेंट स्ट्रिंग्स के साथ काम करने के उदाहरण दिए गए हैं:
1// जावास्क्रिप्ट: उपयोगकर्ता एजेंट से ब्राउज़र प्रकार का पता लगाना
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 "Unknown";
21 }
22}
23
24// उपयोग
25console.log("आप उपयोग कर रहे हैं: " + detectBrowser());
26
1# पायथन: अनुरोधों में कस्टम उपयोगकर्ता एजेंट सेट करना
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# उदाहरण उपयोग
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]) # प्रतिक्रिया के पहले 100 वर्ण प्रिंट करें
15
1<?php
2// पीएचपी: उपयोगकर्ता एजेंट का उपयोग करके मोबाइल उपकरणों का पता लगाना
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// उपयोग
16if (isMobileDevice()) {
17 echo "आप एक मोबाइल डिवाइस का उपयोग कर रहे हैं।";
18} else {
19 echo "आप एक डेस्कटॉप डिवाइस का उपयोग कर रहे हैं।";
20}
21?>
22
1// जावा: यादृच्छिक उपयोगकर्ता एजेंट उत्पन्न करना
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# रूबी: उपयोगकर्ता एजेंट स्ट्रिंग को पार्स करना
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# उदाहरण उपयोग
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#: HttpClient में उपयोगकर्ता एजेंट सेट करना
2using System;
3using System.Net.Http;
4using System.Threading.Tasks;
5
6class Program
7{
8 static async Task Main()
9 {
10 // कस्टम उपयोगकर्ता एजेंट के साथ HttpClient बनाना
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 // कस्टम उपयोगकर्ता एजेंट के साथ अनुरोध करें
19 HttpResponseMessage response = await httpClient.GetAsync("https://example.com");
20 response.EnsureSuccessStatusCode();
21 string responseBody = await response.Content.ReadAsStringAsync();
22
23 Console.WriteLine($"प्रतिक्रिया प्राप्त हुई स्थिति कोड: {response.StatusCode}");
24 Console.WriteLine(responseBody.Substring(0, 100) + "..."); // पहले 100 वर्ण
25 }
26 catch (HttpRequestException e)
27 {
28 Console.WriteLine($"अनुरोध त्रुटि: {e.Message}");
29 }
30 }
31 }
32}
33
1// गो: कस्टम उपयोगकर्ता एजेंट के साथ HTTP अनुरोध बनाना
2package main
3
4import (
5 "fmt"
6 "io/ioutil"
7 "net/http"
8)
9
10func main() {
11 // एक नया अनुरोध बनाएं
12 req, err := http.NewRequest("GET", "https://example.com", nil)
13 if err != nil {
14 fmt.Printf("अनुरोध बनाने में त्रुटि: %s\n", err)
15 return
16 }
17
18 // कस्टम उपयोगकर्ता एजेंट सेट करें
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 // अनुरोध भेजें
22 client := &http.Client{}
23 resp, err := client.Do(req)
24 if err != nil {
25 fmt.Printf("अनुरोध भेजने में त्रुटि: %s\n", err)
26 return
27 }
28 defer resp.Body.Close()
29
30 // प्रतिक्रिया पढ़ें
31 body, err := ioutil.ReadAll(resp.Body)
32 if err != nil {
33 fmt.Printf("प्रतिक्रिया पढ़ने में त्रुटि: %s\n", err)
34 return
35 }
36
37 fmt.Printf("प्रतिक्रिया स्थिति: %s\n", resp.Status)
38 fmt.Printf("प्रतिक्रिया शरीर पूर्वावलोकन: %s\n", body[:100])
39}
40
सामान्य उपयोगकर्ता एजेंट पैटर्न
यहाँ विभिन्न ब्राउज़रों और प्लेटफ़ॉर्म के लिए वास्तविक उपयोगकर्ता एजेंट स्ट्रिंग्स के कुछ उदाहरण दिए गए हैं:
डेस्कटॉप ब्राउज़र
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
macOS पर फायरफॉक्स:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:95.0) Gecko/20100101 Firefox/95.0
2
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
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
मोबाइल ब्राउज़र
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
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
Android पर फायरफॉक्स:
1Mozilla/5.0 (Android 12; Mobile; rv:95.0) Gecko/95.0 Firefox/95.0
2
गैलेक्सी पर सैमसंग इंटरनेट:
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
संदर्भ
-
"उपयोगकर्ता एजेंट।" MDN वेब डॉक्स, मोज़िला, https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent
-
"ब्राउज़र उपयोगकर्ता एजेंट स्ट्रिंग्स।" WhatIsMyBrowser.com, https://www.whatismybrowser.com/guides/the-latest-user-agent/
-
"HTTP उपयोगकर्ता-एजेंट हेडर समझाया।" KeyCDN, https://www.keycdn.com/support/user-agent
-
"क्लाइंट हिंट्स।" MDN वेब डॉक्स, मोज़िला, https://developer.mozilla.org/en-US/docs/Web/HTTP/Client_hints
-
"ब्राउज़र उपयोगकर्ता एजेंट स्ट्रिंग का इतिहास।" WebAIM, https://webaim.org/blog/user-agent-string-history/
-
"उपयोगकर्ता एजेंट का उपयोग करते हुए ब्राउज़र पहचान।" Google Developers, https://developer.chrome.com/docs/multidevice/user-agent/
പ്രതികരണം
ഈ ഉപകരണത്തെക്കുറിച്ച് പ്രതികരണം നൽകാൻ പ്രതികരണ ടോസ്റ്റിൽ ക്ലിക്ക് ചെയ്യുക
ബന്ധപ്പെട്ട ഉപകരണങ്ങൾ
നിങ്ങളുടെ പ്രവൃത്തി പ്രവാഹത്തിന് ഉപകാരപ്രദമായ കൂടുതൽ ഉപകരണങ്ങൾ കണ്ടെത്തുക