בקשת עזרה | בעיה במיספור קבצים
-
אם יש לי כתובת אתר, שהעלו לשם כל מיני קבצי שמע, ויש לכל קובץ שם עם מספר, ויש לי אפשרות לשנות את המספרים, הבעיה היא שיש הפרש בין המספרים בין קובץ שמע אחד לקובץ הבא,
יש למישהו איזה רעיון איך לבדוק ולדעת מה המספרים שבכתובת אינטרנט שלהם הועלה קבצי שמע?לדוגמא(רק בשביל הדוגמא בלבד):
https://media.kolhalashon.com/mp3/NewArchive/31040/31040159.mp3
ואני מעוניין לבדוק אם בקובץ שמע שמספרו 31040176,31040177,31040178,31040179 וכן הלאה, אם יש כזה אתר שיש לו קובץ שמע. (באתר הזה יש הפרש בין המספרים של הקבצי שמע רק באחד, אנ מדבר על סיטואציה שחלק מהמספרים לא עובדים, ורק מספרים מסויימים עובדים)בקיצור, האם יש דרך לבדוק ממספר מסויים עד מספר מסויים, ולדעת באילו מספרים יש קבצי שמע?
מקווה שהייתי מובן... -
@yad1
קודם כל כותרת לא תקינה!
ניתן לשנות למשל ל"בקשת עזרה | בעיה במיספור קבצים"
עוד כללים לכתיבת פוסט ניתן למצוא כאן!
וכן כדאי לקרוא מפעם לפעם את חוקי הפורום!
נ.ב. אנא כשאתה שם הקלטה לדוגמה שים הקלטה של בן!! וד"ל!! -
@יעקב-מ-פינס תוקן. תודה.
-
@yad1 אפשר להשתמש בדפדפן כדי לוודא איזה כתובות מחזירות תשובה תקינה ואיזה לא.
אני מצרף דוגמא לצורך העניין - לקחתי מכאן :var lists = []; for (var i = 31040176; i <= 31040190; i++) { lists.push(i); } for (const list of lists) { fetch('https://media.kolhalashon.com/mp3/NewArchive/31040/' + list + '.mp3') .then((response)=>{ return response.status }) .then((thestatus)=>{ if (thestatus == "200") console.log('הסטטוס הוא 200') }) }
מושגים בסיסיים: בתקשורת בין מחשבים בפרוטוקול HTTP, יש תשובות בסיסיות שנותנות אינדיקציה על מצב השרת או נכונות הבקשה. 200 זה אומר שהבקשה הייתה נכונה, וכן שהשרת מכיל את הכתובת שבוקשה והיא פעילה.
כלומר אם אתה שולח בקשה לקול הלשון ומקבל 200 זה אומר שבכתובת ששלחת, יש קובץ.
אוקיי עכשיו שלב הבא -
כמו שאתה רואה בתחילת הקוד יש לולאה זה ה-for - המספר שכתוב אחרי ה-i הראשון זה המספר הנמוך שממנו נתחיל, ואחרי זה מוגדר המספר הכי גבוה להגיע. כל המספרים שביניהם יוכנסו לבקשה בצורה המתאימה (שורה 6).
בשורה 8 מסוננים כל הבקשות שקיבלו תשובה 200.
כעת אתה יכול לעשות עם זה מה שאתה רוצה.
אתה יכול ליצור אלמנט בדף שאתה נמצא בו, לדוגמא, עם הכתובת של כל תוצאה נכונה שיצאה, ותוכל ללחוץ עליו ולהוריד.
או שבכלל תעשה שההורדה עצמה תבוצע ב-JS (מסובך).עריכה שכחתי להוסיף חשוב!! בשביל להריץ בקשות כאלו בדפדפן תצטרך להשתמש בתוסף כדי לעקוף את בעיית ה-CORS. יש כאן לכרום וכאן לפיירפוקס
לשאלות נוספות, אחרי סדר ג'.