• פוסטים אחרונים
    • תגיות
    • משתמשים
    • קבוצות
    • חיפוש
    • נטפרי-וויקי
    • En
    • התחברות

    כיצד אוכל לשאוב מידע על כל וידאו מראש אם הוא פתוח בנטפרי או לא

    מתוזמן נעוץ נעול הועבר ויקי-נטפרי בקשת/הצעת הדרכה
    20 פוסטים 4 כותבים 1.5k צפיות 3 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • משה בניית אתריםמ מנותק
      משה בניית אתרים
      נערך לאחרונה על ידי

      זה נמצא בתוך פוסטים בשרת במסד הנתונים. יש לך דרך להריץ עליהם את השאילתא?

      תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • chvC מנותק
        chv
        נערך לאחרונה על ידי

        @משה-בניית-אתרים אני חושב שיש כאן סוג של שיח חרשים.

        אתה צריך להריץ על כל אחד מהכתובות של הסרטונים, בקשה (לדוגמא fetch) ואז פשוט - אם הסרטון פתוח תקבל סטטוס 200, אם סגור תקבל 418. כל מה שחסום על ידי נטפרי מתקבלת שגיאה בקונסול עם המספר 418 (והתיאור blocked by netfree).
        הכי פשוט לך לקבל (מהמסד נתונים, איך שאתה אמור לדעת להוציא) את כל הכתובות של סרטוני יוטיוב שנמצאים באתר, להכניס אותם למערך, ולבצע משהו כזה:

        var videos = ["כתובת 1", "כתובת 2", "וכו"]
        Promise.all(videos.map(u=>fetch(u))).then(responses => responses.forEach(
        response => console.log(`${response.url}: ${response.status}`)
          ));
        

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

        בלוג | מייל

        ב תגובה 1 תגובה אחרונה תגובה ציטוט 2
        • ב מנותק
          ב.ל @chv
          נערך לאחרונה על ידי ב.ל

          @chv
          אני גם מתעניין בנושא וכמו שהצעתי כאן
          ניסיתי לכתוב לזה סימנייה אך קיבלתי על הכל סטטוס 200 , גם מה שחסום

          (()=>{  
          let links = document.querySelectorAll('a');
          for (const link of links) {
            fetch(link.href)
            .then((response)=>{return response.status})
            .then((thestatus)=>{console.log(`הסטטוס הוא ${thestatus}`)}) 
          } 
          })()
          
          chvC תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • chvC מנותק
            chv @ב.ל
            נערך לאחרונה על ידי

            @ב-ל יש לך בעיה בסיסית בקוד, הוא לא בנוי כמערך (או לפחות לא בצורה שאפשר להתנהל איתו בfetch וresponse) כמו כן לא הבנתי מאיפה מגיע thestatus.

            תעשה קוד כזה - בערך - זה אמור לעבוד:

            var array = [];
            var links = document.getElementsByTagName("a");
            for(var i=0; i<links.length; i++) {
                array.push(links[i].href);
            }
            Promise.all(array.map(u=>fetch(u))).then(responses => responses.forEach(
            response => console.log(`${response.url}: ${response.status}`)
              ))
            

            כמו שכתבתי למעלה - מכאן אתה כבר יכול לסנן את כל התשובות 418 (נגיד במקום console.log וכו', אתה כותב -

            if (response.status == "418") { 
            // התראה או יצירת רשימה של הלינקים הבעייתים וכו
             }))
            

            זה לדוגמא)

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

            בלוג | מייל

            yzahnY תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • yzahnY מנותק
              yzahn @chv
              נערך לאחרונה על ידי

              @chv אמר בכיצד אוכל לשאוב מידע על כל וידאו מראש אם הוא פתוח בנטפרי או לא:

              @ב-ל יש לך בעיה בסיסית בקוד, הוא לא בנוי כמערך (או לפחות לא בצורה שאפשר להתנהל איתו בfetch וresponse) כמו כן לא הבנתי מאיפה מגיע thestatus.

              זה לא פורום תכנות, אז לא אאריך אבל הקוד שלו בסדר גמור.
              יש בעיה להריץ את הבדיקה בדפדפן כי יש בעיית CORS.
              בתוסף לא יהיה הבעיה הזאת.

              ב תגובה 1 תגובה אחרונה תגובה ציטוט 2
              • ב מנותק
                ב.ל @yzahn
                נערך לאחרונה על ידי

                @yzahn אמר בכיצד אוכל לשאוב מידע על כל וידאו מראש אם הוא פתוח בנטפרי או לא:

                יש בעיה להריץ את הבדיקה בדפדפן כי יש בעיית CORS.

                אז למה הוא מביא על הכל סטטוס 200 ?

                yzahnY תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • yzahnY מנותק
                  yzahn @ב.ל
                  נערך לאחרונה על ידי yzahn

                  @ב-ל על איזה דף הרצת את הקוד? ייתכן שהקישורים שלהם לא היה בעיית CORS היו באמת פתוחים

                  ב תגובה 1 תגובה אחרונה תגובה ציטוט 1
                  • ב מנותק
                    ב.ל @yzahn
                    נערך לאחרונה על ידי

                    @yzahn
                    נכון. התקנתי תוסף שמונע בעיית CORS וזה אכן עובד

                    משה בניית אתריםמ תגובה 1 תגובה אחרונה תגובה ציטוט 1
                    • משה בניית אתריםמ מנותק
                      משה בניית אתרים @ב.ל
                      נערך לאחרונה על ידי

                      @ב-ל אמר בכיצד אוכל לשאוב מידע על כל וידאו מראש אם הוא פתוח בנטפרי או לא:

                      נכון. התקנתי תוסף שמונע בעיית CORS וזה אכן עובד

                      מה התוסף?

                      ב תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • ב מנותק
                        ב.ל @משה בניית אתרים
                        נערך לאחרונה על ידי

                        @משה-בניית-אתרים
                        זה למשל
                        https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf/related
                        ויש עוד הרבה, תחפש בחנות של גוגל

                        תגובה 1 תגובה אחרונה תגובה ציטוט 1
                        • פוסט ראשון
                          פוסט אחרון