גנרטור סוכן משתמש אקראי - יצירת מחרוזות דפדפן
צור מחרוזות סוכן משתמש אותנטיות עבור Chrome, Firefox, Safari ו-Edge. בדוק תאימות דפדפן, עיצובים רספונסיביים ו-APIs עם מזהי דפדפן ריאליסטיים.
גנרטור סוכן משתמש אקראי
צור מחרוזות סוכן משתמש דפדפן אקראיות ואמיתיות לבדיקת פיתוח אתרים.
סוכן משתמש שנוצר
תיעוד
מחולל אקראי של מחרוזות סוכן משתמש
מחולל אקראי של סוכני משתמש יוצר דוגמאות של מחרוזות סוכן משתמש — שורות טקסט קצרות שדפדפן שולח לאתר כדי לזהות את עצמו. כלי זה בונה מחרוזות התואמות לתבנית האמיתית שבה משתמשים 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, כאשר אתרים בדקו אם המילה הזו קיימת כדי להחליט אם דפדפן מסוגל דיו להציג דף. דפדפנים חדשים יותר שמרו את הסימון כדי שלא ייחסמו בבדיקות ישנות.
כיצד המחולל פועל
לכלי יש שלושה פקדים:
- סוג מכשיר – מחשב שולחני או מכשיר נייד.
- משפחת דפדפנים – Chrome, Firefox, Safari או Edge.
- מערכת הפעלה – Windows, macOS או Linux במחשב שולחני; iOS או Android במכשיר נייד.
לא כל צירוף קיים במציאות, ולכן הכלי מגביל את האפשרויות. Safari מופיע רק ב־macOS וב־iOS, משום ש‑Apple אינה מפיצה את Safari ל־Windows, ל־Linux או ל־Android. Chrome, Firefox ו‑Edge זמינים בכל מערכות ההפעלה המפורטות, כולל iOS, שבו הם פועלים כקליפה המשתמשת במנוע WebKit של Apple ולא במנועים שלהם.
לחיצה על "Generate New" בונה מחרוזת משלוש ההגדרות הללו ומספר גרסה שנבחר באקראי. הלחצן "Copy" מעתיק את התוצאה ללוח.
תבנית מחרוזת סוכן המשתמש לפי דפדפן
כל דפדפן ממלא תבנית דומה באסימונים משלו.
Chrome (מחשב שולחני):
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 (מחשב שולחני):
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 (מחשב שולחני):
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 מחייבת כל דפדפן ב־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 מכנה "User-Agent Reduction". במקום מספר build אמיתי, הסימון של 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
2Firefox שולחני ב־macOS:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
2Safari שולחני ב־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 שולחני ב־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 נייד ב־Android:
1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36
2Edge נייד ב־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 נייד ב־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 נייד ב־Android:
1Mozilla/5.0 (Android 13; Mobile; rv:130.0) Gecko/130.0 Firefox/130.0
2Chrome נייד ב־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 נייד ב־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 נייד ב־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, אך אינו כולל כלל את דגם המכשיר. מחולל שמציג דגם טלפון מסוים, כגון מספר דגם של Galaxy, בתוך מחרוזת Chrome ל־Android לא יתאים לאופן שבו Chrome אמיתי ועדכני פועל.
מדוע מחרוזות סוכן משתמש נראות מבלבלות
המחרוזת נראית עמוסה בגלל עשרות שנים של תיקוני תאימות. ב"מלחמות הדפדפנים" בסוף שנות ה־1990, אתרים מסוימים שלחו דפים טובים יותר רק ל־Netscape או רק ל־Internet Explorer, וחיפשו מילות מפתח בכותרת. דפדפנים מתחרים הגיבו בהוספת אותן מילות מפתח למחרוזות שלהם, כדי שלא יידחו. לכן המחרוזת של Chrome עדיין מזכירה את "Safari" ואת "like Gecko", אף שהיא אינה משתמשת באף אחד מהמנועים האלה בשם זה. כל סימון הוא שריד לאיתות שנועד לעבור בדיקת תאימות ישנה, ולא תיאור אמיתי של התוכנה.
מכיוון שאתרים רבים עדיין מנתחים את המחרוזות האלה, יצרני הדפדפנים אינם יכולים פשוט להסיר את העומס בלי לשבור דפים. התחליף לטווח הארוך, שנקרא User-Agent Client Hints, שולח פרטי דפדפן בכותרות נפרדות בעלות מבנה מוגדר במקום מחרוזת ארוכה אחת, אך הכותרת הקלאסית 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 מדווחים על מחרוזת פלטפורמה קבועה, Linux; Android 10; K, עבור כל מכשיר וכל גרסת Android אמיתית, כחלק מאותה מדיניות הפחתת גרסה שמשפיעה על מספר הבנייה של Chrome. הדגם האמיתי וגרסת Android אינם נחשפים.
האם אפשר להשתמש בסוכן משתמש שנוצר לצורך איסוף נתונים מאתרים?
שינוי הכותרת אפשרי, אך אתרים יכולים לזהות אי־התאמה באמצעות אותות אחרים, ואיסוף נתונים מאתרים עלול להפר את תנאי השימוש של אתר או את כללי robots.txt שלו. יש לבדוק את מדיניות האתר לפני ביצוע איסוף נתונים.
האם מחרוזת שנוצרה זהה למחרוזת ממכשיר אמיתי? היא תואמת לאותה תבנית ולאותו סדר סימונים כמו דפדפן אמיתי מאותו סוג. בגלל הקפאת הגרסה של Chrome ושל Edge ב־Android, מחרוזת Chrome שנוצרה עבור Android ומחרוזת של Chrome במכשיר אמיתי יכולות להיות זהות בחלק הפלטפורמה, משום שמכשירים אמיתיים מדווחים על אותו ערך קבוע.
מהם Client Hints, והאם הם מחליפים את מחרוזת סוכן המשתמש?
Client Hints היא מערכת חדשה יותר ששולחת פרטים על הדפדפן ועל המכשיר ככותרות HTTP נפרדות, במקום כמחרוזת משולבת אחת. דפדפנים מוסיפים תמיכה בה, אך הכותרת הקלאסית User-Agent עדיין נמצאת בשימוש נרחב, משום שאתרים קיימים רבים עדיין תלויים בה.