ਯੂਜ਼ਰ ਏਜੰਟ ਸਤਰਾਂ ਨੂੰ ਪੈਦਾ ਕਰੋ ਜੋ ਕਿ ਯਥਾਰਥਵਾਦੀ ਬ੍ਰਾਊਜ਼ਰ ਯੂਜ਼ਰ ਏਜੰਟ ਸਤਰਾਂ ਹਨ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਡਿਵਾਈਸ ਦੀ ਕਿਸਮ, ਬ੍ਰਾਊਜ਼ਰ ਪਰਿਵਾਰ ਅਤੇ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਦੇ ਆਧਾਰ 'ਤੇ ਫਿਲਟਰ ਕਰਨ ਦੇ ਵਿਕਲਪ ਹਨ। ਵੈੱਬ ਵਿਕਾਸ ਟੈਸਟਿੰਗ ਅਤੇ ਅਨੁਕੂਲਤਾ ਜਾਂਚਾਂ ਲਈ ਬਿਹਤਰ।
ਵੈਬ ਵਿਕਾਸ ਟੈਸਟਿੰਗ ਲਈ ਯਾਦ੍ਰਿਚਿਕ, ਵਾਸਤਵਿਕ ਬ੍ਰਾਊਜ਼ਰ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟਰਿੰਗਾਂ ਬਣਾਓ।
ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਪਾਠ ਪਛਾਣਕ ਹੈ ਜੋ ਵੈਬ ਬ੍ਰਾਉਜ਼ਰ ਅਤੇ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਵੈਬਸਾਈਟਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਨੂੰ ਪਛਾਣਨ ਲਈ ਭੇਜਦੇ ਹਨ। ਇਹ ਸਟ੍ਰਿੰਗ ਆਮ ਤੌਰ 'ਤੇ ਬ੍ਰਾਉਜ਼ਰ, ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ, ਡਿਵਾਈਸ ਦੀ ਕਿਸਮ, ਅਤੇ ਵਰਤੋਂ ਕੀਤੇ ਜਾ ਰਹੇ ਰੇਂਡਰਿੰਗ ਇੰਜਨ ਬਾਰੇ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਕਰਦੀ ਹੈ। ਵੈਬ ਵਿਕਾਸਕਾਂ ਅਤੇ ਟੈਸਟਰਾਂ ਲਈ, ਵੱਖ-ਵੱਖ ਪਲੇਟਫਾਰਮਾਂ 'ਤੇ ਵੈਬਸਾਈਟ ਦੀ ਅਨੁਕੂਲਤਾ, ਜਵਾਬਦੇਹਤਾ, ਅਤੇ ਕਾਰਜਕਸ਼ਮਤਾ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਵੱਖ-ਵੱਖ ਯਥਾਰਥ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗਾਂ ਤੱਕ ਪਹੁੰਚ ਹੋਣਾ ਜਰੂਰੀ ਹੈ।
ਇਹ ਯੂਜ਼ਰ ਏਜੰਟ ਜਨਰੇਟਰ ਟੂਲ ਤੁਹਾਡੇ ਚੁਣੇ ਹੋਏ ਪੈਰਾਮੀਟਰਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਪ੍ਰਮਾਣਿਕ ਦਿੱਖ ਵਾਲੀਆਂ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗਾਂ ਬਣਾਉਂਦਾ ਹੈ। ਤੁਸੀਂ ਡਿਵਾਈਸ ਦੀ ਕਿਸਮ (ਡੈਸਕਟਾਪ ਜਾਂ ਮੋਬਾਈਲ), ਬ੍ਰਾਉਜ਼ਰ ਪਰਿਵਾਰ (ਕ੍ਰੋਮ, ਫਾਇਰਫੌਕਸ, ਸਫਾਰੀ, ਜਾਂ ਐਜ) ਅਤੇ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਦੁਆਰਾ ਫਿਲਟਰ ਕਰ ਸਕਦੇ ਹੋ ਤਾਂ ਜੋ ਯੂਜ਼ਰ ਏਜੰਟ ਜਨਰੇਟ ਕੀਤੇ ਜਾ ਸਕਣ ਜੋ ਤੁਹਾਡੇ ਟੈਸਟਿੰਗ ਦੀਆਂ ਜਰੂਰਤਾਂ ਨੂੰ ਮੇਲ ਖਾਂਦੇ ਹਨ। ਇਹ ਟੂਲ ਇੱਕ ਸਧਾਰਣ ਇੰਟਰਫੇਸ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਇੱਕ ਕਲਿਕ ਨਾਲ ਬਣਾਈ ਗਈ ਸਟ੍ਰਿੰਗ ਨੂੰ ਕਾਪੀ ਕਰਨ ਅਤੇ ਤੁਰੰਤ ਨਵੇਂ ਯਥਾਰਥ ਸਟ੍ਰਿੰਗਾਂ ਨੂੰ ਜਨਰੇਟ ਕਰਨ ਦੇ ਵਿਕਲਪ ਹਨ।
ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗਾਂ ਵਿਸ਼ੇਸ਼ ਪੈਟਰਨਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦੀਆਂ ਹਨ ਜੋ ਬ੍ਰਾਉਜ਼ਰ ਅਤੇ ਪਲੇਟਫਾਰਮ ਦੇ ਆਧਾਰ 'ਤੇ ਹੁੰਦੀਆਂ ਹਨ, ਪਰ ਆਮ ਤੌਰ 'ਤੇ ਕਈ ਆਮ ਘਟਕਾਂ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ:
ਇੱਥੇ ਮੁੱਖ ਬ੍ਰਾਉਜ਼ਰਾਂ ਲਈ ਆਮ ਯੂਜ਼ਰ ਏਜੰਟ ਬਣਤਰਾਂ ਦਾ ਵਿਵਰਣ ਦਿੱਤਾ ਗਿਆ ਹੈ:
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 NT 10.0; Win64; x64
Macintosh; Intel Mac OS X 10_15_7
X11; Linux x86_64
ਮੋਬਾਈਲ ਉਦਾਹਰਣ:
Linux; Android 12; SM-G998B
iPhone; CPU iPhone OS 15_4 like Mac OS X
ਡੈਸਕਟਾਪ ਯੂਜ਼ਰ ਏਜੰਟ ਆਮ ਤੌਰ 'ਤੇ ਵਿਸ਼ੇਸ਼ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਜਾਣਕਾਰੀ, ਆਰਕੀਟੈਕਚਰ ਵੇਰਵੇ (ਜਿਵੇਂ x86_64 ਜਾਂ Win64), ਅਤੇ ਕਈ ਵਾਰੀ ਭਾਸ਼ਾ ਦੀਆਂ ਪਸੰਦਾਂ ਸ਼ਾਮਲ ਕਰਦੇ ਹਨ। ਇਹ ਬ੍ਰਾਉਜ਼ਰਾਂ ਵਿੱਚ ਮੋਬਾਈਲ ਯੂਜ਼ਰ ਏਜੰਟਾਂ ਨਾਲੋਂ ਵੱਧ ਸਥਿਰ ਹੁੰਦੇ ਹਨ।
ਮੋਬਾਈਲ ਯੂਜ਼ਰ ਏਜੰਟਾਂ ਵਿੱਚ ਡਿਵਾਈਸ ਮਾਡਲ ਜਾਣਕਾਰੀ, ਮੋਬਾਈਲ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਦੇ ਵਰਜਨ, ਅਤੇ ਅਕਸਰ ਅੰਤ ਵਿੱਚ "ਮੋਬਾਈਲ" ਸ਼ਬਦ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ। ਆਈਓਐਸ ਡਿਵਾਈਸਾਂ 'ਤੇ ਮੋਬਾਈਲ ਸਫਾਰੀ "iPhone" ਜਾਂ "iPad" ਪਛਾਣਕ ਸ਼ਾਮਲ ਕਰੇਗਾ, ਜਦਕਿ ਐਂਡਰਾਇਡ ਡਿਵਾਈਸਾਂ ਵਿੱਚ ਨਿਰਮਾਤਾ ਅਤੇ ਮਾਡਲ ਨੰਬਰ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ।
ਹਰ ਬ੍ਰਾਉਜ਼ਰ ਵੱਖ-ਵੱਖ ਵਰਜਨਿੰਗ ਪੈਟਰਨਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ:
ਯੂਜ਼ਰ ਏਜੰਟ ਜਨਰੇਸ਼ਨ ਵੈਬ ਵਿਕਾਸ ਅਤੇ ਟੈਸਟਿੰਗ ਵਿੱਚ ਕਈ ਮਹੱਤਵਪੂਰਨ ਐਪਲੀਕੇਸ਼ਨ ਹਨ:
ਕ੍ਰਾਸ-ਬ੍ਰਾਉਜ਼ਰ ਅਨੁਕੂਲਤਾ ਟੈਸਟਿੰਗ: ਇਹ ਜਾਂਚੋ ਕਿ ਤੁਹਾਡੀ ਵੈਬਸਾਈਟ ਵੱਖ-ਵੱਖ ਬ੍ਰਾਉਜ਼ਰਾਂ ਵਿੱਚ ਕਿਵੇਂ ਪ੍ਰਦਰਸ਼ਿਤ ਅਤੇ ਕਾਰਜ ਕਰਦੀ ਹੈ ਬਿਨਾਂ ਕਈ ਬ੍ਰਾਉਜ਼ਰਾਂ ਨੂੰ ਇੰਸਟਾਲ ਕਰਨ ਜਾਂ ਕਈ ਡਿਵਾਈਸਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਲੋੜ।
ਜਵਾਬਦੇਹ ਡਿਜ਼ਾਈਨ ਟੈਸਟਿੰਗ: ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੀ ਵੈਬਸਾਈਟ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਮੋਬਾਈਲ ਅਤੇ ਡੈਸਕਟਾਪ ਡਿਵਾਈਸਾਂ ਨੂੰ ਪਛਾਣਦੀ ਹੈ ਅਤੇ ਉਚਿਤ ਲੇਆਉਟ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ।
ਫੀਚਰ ਡਿਟੈਕਸ਼ਨ ਦੀ ਪੁਸ਼ਟੀ: ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੀ ਵੈਬਸਾਈਟ ਦੇ ਫੀਚਰ ਡਿਟੈਕਸ਼ਨ ਮਕੈਨਿਜ਼ਮ ਵੱਖ-ਵੱਖ ਬ੍ਰਾਉਜ਼ਰ ਦੀ ਸਮਰੱਥਾ ਲਈ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹਨ।
ਕਿਊਏ ਅਤੇ ਆਟੋਮੈਟਡ ਟੈਸਟਿੰਗ: ਆਪਣੇ ਆਟੋਮੈਟਿਕ ਟੈਸਟਿੰਗ ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਯੂਜ਼ਰ ਏਜੰਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ ਵੱਖ-ਵੱਖ ਉਪਭੋਗਤਾ ਵਾਤਾਵਰਣਾਂ ਨੂੰ ਸਿਮੂਲੇਟ ਕੀਤਾ ਜਾ ਸਕੇ।
ਕਾਰਗੁਜ਼ਾਰੀ ਟੈਸਟਿੰਗ: ਇਹ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰੋ ਕਿ ਤੁਹਾਡੀ ਵੈਬਸਾਈਟ ਵੱਖ-ਵੱਖ ਬ੍ਰਾਉਜ਼ਰ ਵਾਤਾਵਰਣਾਂ ਤੋਂ ਪਹੁੰਚ ਕੀਤੇ ਜਾਣ 'ਤੇ ਕਿਵੇਂ ਕਾਰਜ ਕਰਦੀ ਹੈ।
ਬ੍ਰਾਉਜ਼ਰ-ਵਿਸ਼ੇਸ਼ ਸਮੱਸਿਆਵਾਂ ਦੀ ਡਿਬੱਗਿੰਗ: ਉਹ ਬੱਗ ਦੁਬਾਰਾ ਬਣਾਓ ਅਤੇ ਠੀਕ ਕਰੋ ਜੋ ਸਿਰਫ਼ ਵਿਸ਼ੇਸ਼ ਬ੍ਰਾਉਜ਼ਰਾਂ ਜਾਂ ਵਰਜਨਾਂ ਵਿੱਚ ਹੀ ਹੁੰਦੇ ਹਨ।
ਏਪੀਐਈ ਟੈਸਟਿੰਗ: ਇਹ ਜਾਂਚੋ ਕਿ ਤੁਹਾਡਾ ਏਪੀਐਈ ਵੱਖ-ਵੱਖ ਕਲਾਇੰਟ ਐਪਲੀਕੇਸ਼ਨਾਂ ਤੋਂ ਕੀਤੇ ਗਏ ਬੇਨਤੀ ਨੂੰ ਕਿਵੇਂ ਹੱਥ ਕਰਦਾ ਹੈ।
ਜਦੋਂ ਕਿ ਸਾਡਾ ਯੂਜ਼ਰ ਏਜੰਟ ਜਨਰੇਟਰ ਕਈ ਟੈਸਟਿੰਗ ਸਥਿਤੀਆਂ ਲਈ ਲਾਭਦਾਇਕ ਹੈ, ਕੁਝ ਵਿਕਲਪਿਤ ਪਹੁੰਚਾਂ ਹਨ:
ਬ੍ਰਾਉਜ਼ਰ ਟੈਸਟਿੰਗ ਸੇਵਾਵਾਂ: BrowserStack, Sauce Labs ਜਾਂ LambdaTest ਵਰਗੇ ਪਲੇਟਫਾਰਮ ਵਾਸਤੇ ਅਸਲ ਬ੍ਰਾਉਜ਼ਰ ਇੰਸਟੈਂਸਾਂ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ ਨਾ ਕਿ ਸਿਰਫ਼ ਯੂਜ਼ਰ ਏਜੰਟ ਨੂੰ ਨਕਲ ਕਰਨ ਲਈ।
ਬ੍ਰਾਉਜ਼ਰ ਵਿਕਾਸਕ ਟੂਲ: ਜ਼ਿਆਦਾਤਰ ਆਧੁਨਿਕ ਬ੍ਰਾਉਜ਼ਰ ਤੁਹਾਨੂੰ ਆਪਣੇ ਵਿਕਾਸਕ ਟੂਲਾਂ ਦੁਆਰਾ ਯੂਜ਼ਰ ਏਜੰਟ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ, ਜੋ ਤੇਜ਼ ਟੈਸਟਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੋ ਸਕਦਾ ਹੈ।
ਯੂਜ਼ਰ ਏਜੰਟ ਸਵਿੱਚਰ ਐਕਸਟੈਂਸ਼ਨ: ਬ੍ਰਾਉਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਜੋ ਤੁਹਾਨੂੰ ਬ੍ਰਾਉਜ਼ਿੰਗ ਦੌਰਾਨ ਪਹਿਲਾਂ ਤੋਂ ਪਰਿਭਾਸ਼ਿਤ ਯੂਜ਼ਰ ਏਜੰਟਾਂ ਵਿੱਚ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ।
ਵਰਚੁਅਲ ਮਸ਼ੀਨਾਂ ਜਾਂ ਕੰਟੇਨਰ: ਵੱਖ-ਵੱਖ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮਾਂ ਅਤੇ ਬ੍ਰਾਉਜ਼ਰਾਂ ਦੇ ਅਸਲ ਇੰਸਟੈਂਸਾਂ ਨੂੰ ਚਲਾਉਣਾ ਸਭ ਤੋਂ ਸਹੀ ਟੈਸਟਿੰਗ ਲਈ।
ਹੈੱਡਲੈੱਸ ਬ੍ਰਾਉਜ਼ਰ ਟੈਸਟਿੰਗ: Puppeteer ਜਾਂ Selenium ਵਰਗੇ ਟੂਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵੱਖ-ਵੱਖ ਯੂਜ਼ਰ ਏਜੰਟ ਸੈਟਿੰਗਾਂ ਨਾਲ ਬ੍ਰਾਉਜ਼ਰਾਂ ਨੂੰ ਪ੍ਰੋਗਰਾਮੈਟਿਕ ਤਰੀਕੇ ਨਾਲ ਕੰਟਰੋਲ ਕਰੋ।
ਹਰ ਵਿਕਲਪ ਦੇ ਆਪਣੇ ਫਾਇਦੇ ਹਨ ਅਤੇ ਤੁਹਾਡੇ ਵਿਸ਼ੇਸ਼ ਟੈਸਟਿੰਗ ਦੀਆਂ ਜਰੂਰਤਾਂ ਅਤੇ ਸਰੋਤਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਵੱਧ ਉਚਿਤ ਹੋ ਸਕਦੇ ਹਨ।
ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗ ਦਾ ਧਾਰਨਾ ਦੁਨੀਆ ਦੇ ਪਹਿਲੇ ਵੈਬ ਦੇ ਦਿਨਾਂ ਤੋਂ ਹੀ ਹੈ। "ਯੂਜ਼ਰ ਏਜੰਟ" ਸ਼ਬਦ HTTP ਵਿਸ਼ੇਸ਼ਤਾ ਤੋਂ ਆਉਂਦਾ ਹੈ, ਜਿੱਥੇ ਇਹ ਇੱਕ ਕਲਾਇੰਟ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਵੈਬ ਸਰਵਰ ਨੂੰ ਬੇਨਤੀ ਕਰਨ ਦਾ ਦਰਸਾਉਂਦਾ ਹੈ।
ਪਹਿਲਾ ਵਿਸ਼ਾਲ ਪੱਧਰ 'ਤੇ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਬ੍ਰਾਉਜ਼ਰ, NCSA Mosaic, ਇੱਕ ਸਧਾਰਣ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗ ਸ਼ਾਮਲ ਕਰਦਾ ਸੀ ਜੋ ਬ੍ਰਾਉਜ਼ਰ ਦੇ ਨਾਮ ਅਤੇ ਵਰਜਨ ਨੂੰ ਪਛਾਣਦਾ ਸੀ। ਜਦੋਂ Netscape Navigator ਜਾਰੀ ਕੀਤਾ ਗਿਆ, ਇਸਨੇ ਇੱਕ ਸਮਾਨ ਫਾਰਮੈਟ ਦੀ ਵਰਤੋਂ ਕੀਤੀ। ਹਾਲਾਂਕਿ, ਜਦੋਂ ਵੈਬ ਸਰਵਰਾਂ ਨੇ ਬ੍ਰਾਉਜ਼ਰ ਦੇ ਆਧਾਰ 'ਤੇ ਵੱਖ-ਵੱਖ ਸਮੱਗਰੀ ਪ੍ਰਦਾਨ ਕਰਨੀ ਸ਼ੁਰੂ ਕੀਤੀ, ਤਾਂ "ਬ੍ਰਾਉਜ਼ਰ ਸਨਿੱਫਿੰਗ" ਦੀ ਇੱਕ ਪ੍ਰਕਿਰਿਆ ਉਭਰੀ।
Netscape ਅਤੇ Internet Explorer ਦੇ ਵਿਚਕਾਰ ਬ੍ਰਾਉਜ਼ਰ ਯੁੱਧ ਦੌਰਾਨ, ਵੈਬਸਾਈਟਾਂ ਨੇ ਅਕਸਰ ਖਾਸ ਬ੍ਰਾਉਜ਼ਰਾਂ ਲਈ ਵਿਸ਼ੇਸ਼ ਸਮੱਗਰੀ ਪ੍ਰਦਾਨ ਕੀਤੀ। ਅਨੁਕੂਲਤਾ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ, ਬ੍ਰਾਉਜ਼ਰਾਂ ਨੇ ਆਪਣੇ ਆਪ ਨੂੰ ਹੋਰ ਬ੍ਰਾਉਜ਼ਰਾਂ ਵਜੋਂ ਪਛਾਣਨ ਵਾਲੀਆਂ ਸਟ੍ਰਿੰਗਾਂ ਸ਼ਾਮਲ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਦਿੱਤਾ। ਇਸੇ ਕਾਰਨ ਆਧੁਨਿਕ ਬ੍ਰਾਉਜ਼ਰਾਂ ਵਿੱਚ ਅਜੇ ਵੀ "Mozilla" ਨੂੰ ਆਪਣੇ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ Netscape Navigator ਦੇ ਕੋਡ ਨਾਮ ਦਾ ਹਵਾਲਾ ਹੈ।
ਮੋਬਾਈਲ ਡਿਵਾਈਸਾਂ ਦੇ ਉਭਾਰ ਨੇ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗਾਂ ਵਿੱਚ ਨਵੀਂ ਜਟਿਲਤਾ ਪੈਦਾ ਕੀਤੀ। ਮੋਬਾਈਲ ਬ੍ਰਾਉਜ਼ਰਾਂ ਨੂੰ ਆਪਣੀਆਂ ਮੋਬਾਈਲ ਪੂਰੀਆਂ ਸਮੱਗਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਆਪਣੇ ਆਪ ਨੂੰ ਮੋਬਾਈਲ ਵਜੋਂ ਪਛਾਣਨ ਦੀ ਲੋੜ ਸੀ, ਜਿਸ ਨਾਲ ਡਿਵਾਈਸ ਪਛਾਣਕ ਅਤੇ ਮੋਬਾਈਲ-ਵਿਸ਼ੇਸ਼ ਟੋਕਨ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਲੋੜ ਪਈ।
ਜਿਵੇਂ ਜਿਵੇਂ ਵੈਬ ਪਾਰਿਸਥਿਤੀ ਵਧੀ, ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗਾਂ ਜਟਿਲ ਹੋ ਗਈਆਂ। ਹੁਣ ਇਹ ਕਈ ਬ੍ਰਾਉਜ਼ਰ ਇੰਜਨਾਂ (ਜਿਵੇਂ "AppleWebKit" ਅਤੇ "Gecko") ਦੇ ਹਵਾਲੇ ਸ਼ਾਮਲ ਕਰਦੀ ਹੈ ਜੋ ਅਨੁਕੂਲਤਾ ਦੇ ਕਾਰਨ ਹੁੰਦੇ ਹਨ, ਭਾਵੇਂ ਉਹ ਇੰਜਨ ਵਾਸਤਵ ਵਿੱਚ ਵਰਤੋਂ ਵਿੱਚ ਨਹੀਂ ਹੁੰਦੇ।
ਇਸ ਜਟਿਲਤਾ ਨੇ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗਾਂ ਨੂੰ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਪਾਰਸ ਕਰਨ ਵਿੱਚ ਚੁਣੌਤਾਂ ਪੈਦਾ ਕੀਤੀਆਂ ਹਨ, ਅਤੇ ਕੁਝ ਵੈਬ ਮਿਆਰੀ ਸਮੂਹਾਂ ਨੇ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗਾਂ ਨੂੰ ਰੱਦ ਕਰਨ ਜਾਂ ਸਧਾਰਨ ਬਣਾਉਣ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਹੈ। ਹਾਲਾਂਕਿ, ਪਿਛਲੇ ਸਹਿਯੋਗ ਦੇ ਕਾਰਨ, ਪਰੰਪਰਾਗਤ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗ ਅਜੇ ਵੀ ਵੈਬ ਬ੍ਰਾਉਜ਼ਿੰਗ ਦਾ ਇੱਕ ਅਹਮ ਹਿੱਸਾ ਹੈ।
ਇੱਥੇ ਵੱਖ-ਵੱਖ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਦੇ ਉਦਾਹਰਣ ਹਨ:
1// ਜਾਵਾਸਕ੍ਰਿਪਟ: ਯੂਜ਼ਰ ਏਜੰਟ ਤੋਂ ਬ੍ਰਾਉਜ਼ਰ ਕਿਸਮ ਦੀ ਪਛਾਣ ਕਰਨਾ
2function detectBrowser() {
3 const userAgent = navigator.userAgent;
4
5 if (userAgent.indexOf("Firefox") > -1) {
6 return "ਫਾਇਰਫੌਕਸ";
7 } else if (userAgent.indexOf("SamsungBrowser") > -1) {
8 return "ਸਮਸੰਗ ਬ੍ਰਾਉਜ਼ਰ";
9 } else if (userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1) {
10 return "ਓਪੇਰਾ";
11 } else if (userAgent.indexOf("Trident") > -1) {
12 return "ਇੰਟਰਨੈਟ ਐਕਸਪਲੋਰਰ";
13 } else if (userAgent.indexOf("Edge") > -1) {
14 return "ਐਜ";
15 } else if (userAgent.indexOf("Chrome") > -1) {
16 return "ਕ੍ਰੋਮ";
17 } else if (userAgent.indexOf("Safari") > -1) {
18 return "ਸਫਾਰੀ";
19 } else {
20 return "ਅਣਜਾਣ";
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
ਇੱਥੇ ਵੱਖ-ਵੱਖ ਬ੍ਰਾਉਜ਼ਰਾਂ ਅਤੇ ਪਲੇਟਫਾਰਮਾਂ ਲਈ ਕੁਝ ਅਸਲੀ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗਾਂ ਦੇ ਉਦਾਹਰਣ ਹਨ:
ਵਿੰਡੋਜ਼ 'ਤੇ ਕ੍ਰੋਮ:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
2
ਮੈਕਓਐਸ 'ਤੇ ਫਾਇਰਫੌਕਸ:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:95.0) Gecko/20100101 Firefox/95.0
2
ਮੈਕਓਐਸ 'ਤੇ ਸਫਾਰੀ:
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
ਵਿੰਡੋਜ਼ 'ਤੇ ਐਜ:
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
ਐਂਡਰਾਇਡ 'ਤੇ ਕ੍ਰੋਮ:
1Mozilla/5.0 (Linux; Android 12; SM-G998B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36
2
ਆਈਫੋਨ 'ਤੇ ਸਫਾਰੀ:
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
ਐਂਡਰਾਇਡ 'ਤੇ ਫਾਇਰਫੌਕਸ:
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/
"ਯੂਜ਼ਰ ਏਜੰਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬ੍ਰਾਉਜ਼ਰ ਪਛਾਣ।" ਗੂਗਲ ਡਿਵੈਲਪਰਜ਼, https://developer.chrome.com/docs/multidevice/user-agent/
ਆਪਣੇ ਕਾਰਜ ਦੇ ਲਈ ਵਰਤਣ ਯੋਗ ਹੋਣ ਵਾਲੇ ਹੋਰ ਸੰਦੇਸ਼ ਦੀ ਖੋਜ ਕਰੋ