הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   מדריכון לקבלת השדרן בשרת רדיו SHOUTcast (https://hosts.co.il/forums/showthread.php?t=24554)

בניה 21-06-06 23:26

מדריכון לקבלת השדרן בשרת רדיו SHOUTcast
 
ב"ה


(תקעתי סתם כתובת של רדיו בשביל הדוגמא זה לא פרסום מכוון זו הכתובת הראשונה שמצאתי)
קודם כל כדי שהשרת רדיו יחשוב שאנחנו דפדפן ויתן לנו את הדף מצב ולא יתחיל לשדר לנו אז נשים את הקוד הזה:
PHP קוד:

if(ini_get("user_agent")!="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 2.0.50727)")
    
ini_set("user_agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 2.0.50727)"); 

הוא בעצם גורם לבקשות HTTP שנשלחות דרך השרת PHP שלנו להראות כמו בקשה של דפדפן.
עכשיו נקח את התוכן של הדף ככה:
PHP קוד:

$fp=fopen("http://84.94.230.220:7777/","r");
$status=fgets($fp); 

ועכשיו נשתמש בregExp לחלץ מהטקסט רק את השם שדרן ככה:
PHP קוד:

preg_match("/Stream Title: <\/font><\/td><td><font class=default><b>(.*?)<\/b><\/td><\/tr>/i",$status,$shadran); 

עכשיו המשתנה
קוד:

$shadran
הופך למערך שמכיל 2 אברים.
הראשון מכיל את-הטקסט שמתאים לתבנית regExp הכללית.
השני את הטקסט שמתאים לתבנית הפנימית(זו שמוקפת בסוגריים)
ובצם התבנית הפנימית מתאימה לשם השדרן. אז המשתנה
קוד:

$shadran[1]
מכיל את השדרן.

אם לא הבנתם את הדיבורים על תבניות/regExp מומלץ לקרוא את זה:
(אם לא הבנתם את הקטע האחרון כדאי לכם לקרוא את:
http://php.eitan.ac.il/main.php?id=00172)

הקוד הסופי:
PHP קוד:

<?php
if(ini_get("user_agent")!="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 2.0.50727)")
    
ini_set("user_agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 2.0.50727)");
$fp=fopen("http://84.94.230.220:7777/","r");
$status=fgets($fp);
preg_match("/Stream Title: <\/font><\/td><td><font class=default><b>(.*?)<\/b><\/td><\/tr>/i",$status,$shadran);
echo 
$shadran[1];
?>

אם יש שאלות, תשרשרו

sUP 22-06-06 00:00

וואלה תודה רבה רבה!
שמעתי על שימוש מסובך בסוקטים וזה כלכך פשוט חח...

באמת תודה!

יונתן 22-06-06 00:18

יש אף שיטה יותר פשוטה שלא כל כך ידועה לאנשים
בשרתי ה shoutcast ישנו דף בשם 7.html
אשר נותן את הניתונים בפשטות הכי נוחה

sUP 22-06-06 00:32

ממ שאלה..
איך אני מוציא מידע מתוך הטופס כשיש תבנית כלשהי?

- עריכה: לא חשוב הצלחתי לבד..


כל הזמנים הם GMT +2. הזמן כעת הוא 05:08.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ