-
אני מנסה לעשות קוד קטן בשפת JS ששולח בקשה לכתובת url מסוימת, כדי לבדוק האם המשתמש יושב מאחורי סינון של נטפרי (בין אם ע"י שליחת בקשה ישירות לכתובת הרלוונטית ובדיקה האם חוזר שגיאה 418, או נסיון גישה לAPI של נטפרי ובדיקה האם חוזר 404), ואז אני בודק את התוצאה, ורק אם זה לא משתמש של נטפרי אני מבצע פעולה מסוימת (שעובדת רק בלי נטפרי).
השאלה איך אני מקבל את הסטטוס http של הכתובת (למשל 404/200 וכן הלאה) בכמה שפחות זמן המתנה לתוצאה, בלי לקרוא לכל הדף אלא רק לקבל את הקוד סטטוס שלו.
ראיתי את זה https://developer.mozilla.org/en-US/docs/Web/API/Response/status אבל לא הבנתי איך משתמשים בזה.
אשמח לעזרה... -
@dovid נראה לי שלא לגמרי הבנת את המטרה, אני ינסה להסביר שוב
למעשה אני רוצה להכניס בדף תיבת חיפוש מותאם אישית של גוגל, אלא שכיון שזה חסום בנטפרי זה לא עובד, אלא מוצגת תיבה - אבל כשכותבים שאילתה ואנטר לא קורה כלום. לכן חשבתי לבצע בדיקת HTTP בצד הלקוח כדי לוודא שהוא לא בנטפרי, ורק אם זו התשובה - לטעון את הסקריפט של גוגל.
ולכן רציתי את הדרך הכי יעילה וחסכונית בזמן המתנה לתשובה מהכתובת שאותה זה בודק כדי לדעת אם יש סינון.
אחרי קבלת התשובה מהכתובת המרוחקת יש סה"כ משפט תנאי פשוט שבודק את קוד השגיאה, ולפי זה טוען או לא טוען את הסקריפט של גוגל.
ייתכן שאפשר לפתור את זה על ידי פנייה לנטפרי שיסדרו שגם התיבה לא תופיע, אבל כיוון שבעבר רציתי לבצע בדיקות כאלה בעוד מקרים (בעיקר כדי לבדוק האם דף מחזיר 404 - לא קיים), חשבתי שזו הזדמנות טובה להרחיב את הידע שלי בדבר הזה.
-
@צדיק-תמים לא ניסיתי להבין את המטרה, ניסיתי להבין מי שולח את הבקשה.
אם אתה כתבת קוד ששלוח בקשה ואתה רוצה לבדוק סטטוס, שתף אותנו בקוד הזה.
אני מצטט אותך:אני מנסה לעשות קוד קטן בשפת JS ששולח בקשה לכתובת url מסוימת, כדי לבדוק האם המשתמש יושב מאחורי סינון של נטפרי (בין אם ע"י שליחת בקשה ישירות לכתובת הרלוונטית ובדיקה האם חוזר שגיאה 418, או נסיון גישה לAPI של נטפרי ובדיקה האם חוזר 404),
שתף אותנו בחלק הראשון (קוד ששולח בקשה לכתובת מרוחקת), אותו אני מבין שעברת בהצלחה.
נ.ב. חושבני שיש דרך יותר פשוטה, אבל לא זכור לי אתר עם cse שאוכל לאמת את השערתי ולשחק עם זה. אם יש לך אתר כזה שתףאותי כדי שאוכל לתת לך טיפ קל יותר.
-
@צדיק-תמים זה היינו הך. אתה יכול גם קוד רק למקרה שעובד וגם לשניהם יחד, אני לא רואה טעם בדרך אחרת.
למקרה שאתה הולך לשאול איך מסירים את התיבה בקוד, אני מצרף לך אותו:fetch('https://googleads.g.doubleclick.net').catch(_ => document.querySelector('.gsc-control-cse')?.remove())
-