דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. קבלת קוד סטטוס HTTP של כתובת אינטרנט בדרך החסכונית ביותר (בJS)

קבלת קוד סטטוס HTTP של כתובת אינטרנט בדרך החסכונית ביותר (בJS)

מתוזמן נעוץ נעול הועבר תכנות
11 פוסטים 4 כותבים 492 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • צדיק תמיםצ מנותק
    צדיק תמיםצ מנותק
    צדיק תמים
    כתב ב נערך לאחרונה על ידי
    #1

    אני מנסה לעשות קוד קטן בשפת JS ששולח בקשה לכתובת url מסוימת, כדי לבדוק האם המשתמש יושב מאחורי סינון של נטפרי (בין אם ע"י שליחת בקשה ישירות לכתובת הרלוונטית ובדיקה האם חוזר שגיאה 418, או נסיון גישה לAPI של נטפרי ובדיקה האם חוזר 404), ואז אני בודק את התוצאה, ורק אם זה לא משתמש של נטפרי אני מבצע פעולה מסוימת (שעובדת רק בלי נטפרי).
    השאלה איך אני מקבל את הסטטוס http של הכתובת (למשל 404/200 וכן הלאה) בכמה שפחות זמן המתנה לתוצאה, בלי לקרוא לכל הדף אלא רק לקבל את הקוד סטטוס שלו.
    ראיתי את זה https://developer.mozilla.org/en-US/docs/Web/API/Response/status אבל לא הבנתי איך משתמשים בזה.
    אשמח לעזרה...

    Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
    טיפים

    dovidD WWWW 2 תגובות תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      השיב לצדיק תמים ב נערך לאחרונה על ידי
      #2

      @צדיק-תמים תביא את הקוד שכתבת (או רק דוגמא קטנה שלו)
      כדי שיהיה קל להסביר לך איך לבדוק הכי טוב.
      (לבדוק לא מדוייק כי בעצם קורית שגיאה ורק צריך ללכוד אותה).

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      1
      • צדיק תמיםצ מנותק
        צדיק תמיםצ מנותק
        צדיק תמים
        כתב ב נערך לאחרונה על ידי צדיק תמים
        #3

        @dovid נראה לי שלא לגמרי הבנת את המטרה, אני ינסה להסביר שוב
        למעשה אני רוצה להכניס בדף תיבת חיפוש מותאם אישית של גוגל, אלא שכיון שזה חסום בנטפרי זה לא עובד, אלא מוצגת תיבה - אבל כשכותבים שאילתה ואנטר לא קורה כלום. לכן חשבתי לבצע בדיקת HTTP בצד הלקוח כדי לוודא שהוא לא בנטפרי, ורק אם זו התשובה - לטעון את הסקריפט של גוגל.
        ולכן רציתי את הדרך הכי יעילה וחסכונית בזמן המתנה לתשובה מהכתובת שאותה זה בודק כדי לדעת אם יש סינון.
        אחרי קבלת התשובה מהכתובת המרוחקת יש סה"כ משפט תנאי פשוט שבודק את קוד השגיאה, ולפי זה טוען או לא טוען את הסקריפט של גוגל.


        ייתכן שאפשר לפתור את זה על ידי פנייה לנטפרי שיסדרו שגם התיבה לא תופיע, אבל כיוון שבעבר רציתי לבצע בדיקות כאלה בעוד מקרים (בעיקר כדי לבדוק האם דף מחזיר 404 - לא קיים), חשבתי שזו הזדמנות טובה להרחיב את הידע שלי בדבר הזה.

        Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
        טיפים

        dovidD תגובה 1 תגובה אחרונה
        0
        • WWWW מנותק
          WWWW מנותק
          WWW
          השיב לצדיק תמים ב נערך לאחרונה על ידי WWW
          #4

          @צדיק-תמים
          הנה פונקציה:

          function UrlExists(url) {
           var http = new XMLHttpRequest();
           http.open('HEAD', url, false);
           http.send();
           return http.status==200;
          }
          

          מקור.
          רק שים לב, שפנייה רגילה לAPI של נטפרי, תיתקל בשגיאת CORS.

          WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

          תגובה 1 תגובה אחרונה
          1
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            השיב לצדיק תמים ב נערך לאחרונה על ידי
            #5

            @צדיק-תמים לא ניסיתי להבין את המטרה, ניסיתי להבין מי שולח את הבקשה.
            אם אתה כתבת קוד ששלוח בקשה ואתה רוצה לבדוק סטטוס, שתף אותנו בקוד הזה.
            אני מצטט אותך:

            אני מנסה לעשות קוד קטן בשפת JS ששולח בקשה לכתובת url מסוימת, כדי לבדוק האם המשתמש יושב מאחורי סינון של נטפרי (בין אם ע"י שליחת בקשה ישירות לכתובת הרלוונטית ובדיקה האם חוזר שגיאה 418, או נסיון גישה לAPI של נטפרי ובדיקה האם חוזר 404),

            שתף אותנו בחלק הראשון (קוד ששולח בקשה לכתובת מרוחקת), אותו אני מבין שעברת בהצלחה.

            נ.ב. חושבני שיש דרך יותר פשוטה, אבל לא זכור לי אתר עם cse שאוכל לאמת את השערתי ולשחק עם זה. אם יש לך אתר כזה שתףאותי כדי שאוכל לתת לך טיפ קל יותר.

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            תגובה 1 תגובה אחרונה
            0
            • צדיק תמיםצ מנותק
              צדיק תמיםצ מנותק
              צדיק תמים
              כתב ב נערך לאחרונה על ידי
              #6

              @dovid אכן לא הסברתי במדויק, התכוונתי שאני מנסה ליצור כזה קוד ולא מצליח...
              ניסיתי לגגל וכו', וללא הועיל...
              ולגבי מה ששאלת
              אז לדוגמה כאן https://forum-eer.ovh (תגלול עד למטה)

              Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
              טיפים

              dovidD תגובה 1 תגובה אחרונה
              0
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                השיב לצדיק תמים ב נערך לאחרונה על ידי
                #7

                @צדיק-תמים כזה קוד:

                fetch('https://googleads.g.doubleclick.net').catch(_ => console.log('filtered'))
                

                או ביתר ביאור:

                fetch('https://googleads.g.doubleclick.net').catch(_ => {
                       //....קוד למסוננים
                });
                

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                צדיק תמיםצ תגובה 1 תגובה אחרונה
                5
                • צדיק תמיםצ מנותק
                  צדיק תמיםצ מנותק
                  צדיק תמים
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @dovid בעצם אתה מציע שיטה הפוכה?
                  לעשות קוד למסוננים שיוריד את התיבה - במקום קוד ללא מסוננים שיטען אותה?

                  Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                  טיפים

                  dovidD תגובה 1 תגובה אחרונה
                  0
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    השיב לצדיק תמים ב נערך לאחרונה על ידי
                    #9

                    @צדיק-תמים זה היינו הך. אתה יכול גם קוד רק למקרה שעובד וגם לשניהם יחד, אני לא רואה טעם בדרך אחרת.
                    למקרה שאתה הולך לשאול איך מסירים את התיבה בקוד, אני מצרף לך אותו:

                    fetch('https://googleads.g.doubleclick.net').catch(_ => document.querySelector('.gsc-control-cse')?.remove())
                    

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    תגובה 1 תגובה אחרונה
                    3
                    • צדיק תמיםצ מנותק
                      צדיק תמיםצ מנותק
                      צדיק תמים
                      השיב לdovid ב נערך לאחרונה על ידי צדיק תמים
                      #10

                      @dovid ביררתי קצת והבנתי שזה הצורת כתיבה החדשה לפניה לכתובת חיצונית, יש לך קישור לתיעוד ברור איך משתמשים בזה בפועל?
                      איך לדוגמה מוסיפים פעולה אם הקריאה הצליחה, וכו'

                      Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                      טיפים

                      י תגובה 1 תגובה אחרונה
                      0
                      • י מנותק
                        י מנותק
                        יוסף בן שמעון
                        השיב לצדיק תמים ב נערך לאחרונה על ידי
                        #11

                        @צדיק-תמים
                        https://internet-israel.com/פיתוח-אינטרנט/בניית-אתרי-אינטרנט-למפתחים/fetch-ככה-עושים-ajax-היום/

                        תגובה 1 תגובה אחרונה
                        3
                        • dovidD dovid העביר נושא זה מ-תכנות ב-

                        בא תתחבר לדף היומי!
                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

                        • התחברו או הירשמו כדי לחפש.
                        • פוסט ראשון
                          פוסט אחרון
                        0
                        • דף הבית
                        • קטגוריות
                        • פוסטים אחרונים
                        • משתמשים
                        • חיפוש
                        • חוקי הפורום