| |
|
|
| | есть линка http://hostname:9999/*.xml
Выдаёт failed to open stream, с разными окончаниями
Пробывал file_get_contents, fopen, file . include , через сокеты, один фиг
Обясните плизз, может я что-то не так делаю...
И ещё:
fopen, include локально работают для 80-го, а из инета ни в какую (лажу через проксю), ругается
Warning: fopen(http://cnews.ru/news.xml): failed to open stream: Bad file descriptor | |
| |
|
|
| |
|
|
| |
для: long_snake
(01.08.2006 в 12:43)
| | | Что-то странный URL, файл действительно называется *.xml?
PS При работе через прокси-сервер придётся использовать сокеты. | |
| |
|
|
| |
|
|
| |
для: cheops
(01.08.2006 в 22:26)
| | | 1. реальный урл http://snake:9999/admin.cgi?mode=viewxml
выдаёт что-то типа:
<?xml version="1.0" standalone="yes" ?>
<!DOCTYPE SHOUTCASTSERVER (View Source for full doctype...)>
<SHOUTCASTSERVER>
<CURRENTLISTENERS>0</CURRENTLISTENERS>
<PEAKLISTENERS>0</PEAKLISTENERS>
<MAXLISTENERS>32</MAXLISTENERS>
<REPORTEDLISTENERS>0</REPORTEDLISTENERS>
<AVERAGETIME>1</AVERAGETIME>
<SERVERGENRE>N/A</SERVERGENRE>
<SERVERURL>http://www.shoutcast.com</SERVERURL>
<SERVERTITLE>N/A</SERVERTITLE>
.................................. и т.д.
|
Причём это в локалке
2. если работать с сокетами (не в локалке), то какие параметры в fputs ?
Может кто-то может выложить примерчик? | |
| |
|
|
| |
|
|
| |
для: long_snake
(02.08.2006 в 06:04)
| | | Вообщем получилось через сокеты (поиск рулит :-) )
<?php
$buffer="";
if (!($fp = @fsockopen("snake", 9999, $errno, $errstr, 30))) {
die("could not open XML input");
}
$out = "GET /admin.cgi?mode=viewxml HTTP/1.1\r\n";
$out .= "Host: snake\r\n";
$out .= "Referer: snake\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.1)\r\n";
$out .= "Connection: Close\r\n";
$out .= "Proxy-Authorization: Basic " . base64_encode("admin:adminpass") . "\r\n";
$out .= "Authorization: Basic " . base64_encode("admin:adminpass") . "\r\n";
$out .= "\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$buffer .= fgets($fp, 1024);
}
echo $buffer;
fclose($fp);
?>
|
результат:
HTTP/1.0 200 OK
Content-Type:text/xml
<?xml version="1.0" standalone="yes" ?><!DOCTYPE SHOUTCASTSERVER
[<!ELEMENT SHOUTCASTSERVER (CURRENTLISTENERS,PEAKLISTENERS,MAXLISTENERS,REPORTEDLISTENERS,AVERAGETIME,SERVERGENRE,SERVERURL,SERVERTITLE,SONGTITLE,SONGURL,IRC,ICQ,AIM,WEBHITS,STREAMHITS,STREAMSTATUS,BITRATE,CONTENT,VERSION,WEBDATA,LISTENERS,SONGHISTORY)>
<!ELEMENT CURRENTLISTENERS (#PCDATA)><!ELEMENT PEAKLISTENERS (#PCDATA)>
<!ELEMENT MAXLISTENERS (#PCDATA)><!ELEMENT REPORTEDLISTENERS (#PCDATA)>
<!ELEMENT AVERAGETIME (#PCDATA)><!ELEMENT SERVERGENRE (#PCDATA)>
<!ELEMENT SERVERURL (#PCDATA)><!ELEMENT SERVERTITLE (#PCDATA)>
<!ELEMENT SONGTITLE (#PCDATA)><!ELEMENT SONGURL (#PCDATA)>
<!ELEMENT IRC (#PCDATA)><!ELEMENT ICQ (#PCDATA)><!ELEMENT AIM (#PCDATA)>
<!ELEMENT WEBHITS (#PCDATA)><!ELEMENT STREAMHITS (#PCDATA)>
<!ELEMENT STREAMSTATUS (#PCDATA)><!ELEMENT BITRATE (#PCDATA)>
<!ELEMENT CONTENT (#PCDATA)><!ELEMENT VERSION (#PCDATA)>
<!ELEMENT WEBDATA (INDEX,LISTEN,PALM7,LOGIN,LOGINFAIL,PLAYED,COOKIE,ADMIN,UPDINFO,KICKSRC,KICKDST,UNBANDST,BANDST,VIEWBAN,UNRIPDST,RIPDST,VIEWRIP,VIEWXML,VIEWLOG,INVALID)><!ELEMENT INDEX (#PCDATA)>
<!ELEMENT LISTEN (#PCDATA)>
<!ELEMENT PALM7 (#PCDATA)>
<!ELEMENT LOGIN (#PCDATA)>
<!ELEMENT LOGINFAIL (#PCDATA)>
<!ELEMENT PLAYED (#PCDATA)>
<!ELEMENT COOKIE (#PCDATA)>
<!ELEMENT ADMIN (#PCDATA)>
<!ELEMENT UPDINFO (#PCDATA)>
<!ELEMENT KICKSRC (#PCDATA)>
<!ELEMENT KICKDST (#PCDATA)>
<!ELEMENT UNBANDST (#PCDATA)>
<!ELEMENT BANDST (#PCDATA)>
<!ELEMENT VIEWBAN (#PCDATA)>
<!ELEMENT UNRIPDST (#PCDATA)>
<!ELEMENT RIPDST (#PCDATA)>
<!ELEMENT VIEWRIP (#PCDATA)>
<!ELEMENT VIEWXML (#PCDATA)>
<!ELEMENT VIEWLOG (#PCDATA)>
ets.]>
<SHOUTCASTSERVER>
<CURRENTLISTENERS>1</CURRENTLISTENERS>
<PEAKLISTENERS>2</PEAKLISTENERS>
<MAXLISTENERS>32</MAXLISTENERS>
<REPORTEDLISTENERS>1</REPORTEDLISTENERS>
<AVERAGETIME>199</AVERAGETIME>
<SERVERGENRE></SERVERGENRE>
<SERVERURL>http://snake/</SERVERURL>
<SERVERTITLE>Snake Music</SERVERTITLE>
<SONGTITLE>Ridgewalkers Feat. El - Find (Kyau vs. Albert Remix)</SONGTITLE>
<SONGURL></SONGURL>
<IRC>#shoutcast</IRC>
<ICQ>0</ICQ><AIM>N/A</AIM><WEBHITS>218</WEBHITS><STREAMHITS>19</STREAMHITS><STREAMSTATUS>1
</STREAMSTATUS>
.............
<SONGHISTORY>
<SONG><PLAYEDAT>1154498251</PLAYEDAT><TITLE>Ridgewalkers Feat. El - Find (Kyau vs. Albert Remix)</TITLE>
</SONG><SONG><PLAYEDAT>1154497697</PLAYEDAT><TITLE>Adam White Feat Martin Grech - Ballerina (Matt Darey Remix)</TITLE></SONG><
SONG><PLAYEDAT>1154497160</PLAYEDAT><TITLE>U2 - New Year's Day (Ferry Corsten Remix)</TITLE></SONG>
<SONG><PLAYEDAT>1154496654</PLAYEDAT><TITLE>Estuera vs Re:Locate - Palma Salone</TITLE></SONG>
<SONG><PLAYEDAT>1154496238</PLAYEDAT><TITLE>Perasma - Swing 2 Harmony (Edu Jimenez VS DJ Nano Remix)</TITLE></SONG>
<SONG><PLAYEDAT>1154495710</PLAYEDAT><TITLE>Jay Saunders and Jon the Baptist - Evolution (Dave the Drummer Remix)</TITLE></SONG>
<SONG><PLAYEDAT>1154495226</PLAYEDAT><TITLE>Lenny Kravitz - R U Gonna Go My Way E-Craig 212 Mix</TITLE></SONG><SONG><PLAYEDAT>1154494999</PLAYEDAT><TITLE>Ayu - Appears Kyau Vs Albert Radio Edit</TITLE></SONG>
<SONG><PLAYEDAT>1154494505</PLAYEDAT><TITLE>Perasma - Swing 2 Harmony (Deserves An Effort Symphony Dub Mix)</TITLE></SONG>
<SONG><PLAYEDAT>1154494050</PLAYEDAT><TITLE>Midor & Six4eight - Soundscape</TITLE></SONG>
</SONGHISTORY>
</SHOUTCASTSERVER>
|
Как его парсить?
xml_parse($xml_parser, $buffer)
выдаёт
XML error: not well-formed (invalid token) at line 1
Может регексп лучше юзать? (а я в нём не силён) | |
| |
|
|