Hallo,
wie man am Titel eindeutig entnehmen kann (mir fiel nichts sinnvolles ein), hab ich ein Problem mit allen genannten Sachen:
Folgender Code:
Ich bekomme, egal ob fopen oder f_g_c:
Warning: file_get_contents(url): failed to open stream: HTTP request failed! ICY 404 Resource
bzw. ICY 200 OK
Das ganze ist ein ShoutCast Server (V1), mit einer Userbegrenzung von 100 Leuten für den Stream.
Hab ich mir gedacht, dass es daran liegt, dass die 100 Slots besetzt sind, aber ich kann die url ja im Browser aufrufen, trotz des vollen Servers, aber PHP kann es nicht.
Nun frag ich mich, wieso kann es PHP nicht? Hab ich im Browser vlt Glück?
Kennst jmd. einen anderen Weg? (fsockopen deaktiviert)
mfg
Edit: problem ist wohl, dass ich noch senden müsste, dass ich ein browser bin, aber wie, wenn ich keine offene ressource habe?
Edit2: Lösung via curl
wie man am Titel eindeutig entnehmen kann (mir fiel nichts sinnvolles ein), hab ich ein Problem mit allen genannten Sachen:
Folgender Code:
PHP-Code:
$file = 'http://ip:port/played.html';
$content = file_get_contents($file);
#$content = fopen($file,'r');
Warning: file_get_contents(url): failed to open stream: HTTP request failed! ICY 404 Resource
bzw. ICY 200 OK
Das ganze ist ein ShoutCast Server (V1), mit einer Userbegrenzung von 100 Leuten für den Stream.
Hab ich mir gedacht, dass es daran liegt, dass die 100 Slots besetzt sind, aber ich kann die url ja im Browser aufrufen, trotz des vollen Servers, aber PHP kann es nicht.
Nun frag ich mich, wieso kann es PHP nicht? Hab ich im Browser vlt Glück?
Kennst jmd. einen anderen Weg? (fsockopen deaktiviert)
mfg
Edit: problem ist wohl, dass ich noch senden müsste, dass ich ein browser bin, aber wie, wenn ich keine offene ressource habe?
Edit2: Lösung via curl
PHP-Code:
$ch = curl_init(); // initialize curl handle
curl_setopt($ch, CURLOPT_URL,$url); // http://ip:port/bla
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("HTTP/1.0\r\nUser-
Agent: XML Getter (Mozilla Compatible)\r\n\r\n"));
$content = curl_exec($ch);