Hi Profi's
Also ich hab gerade ein kleines Projekt abgeschlossen und jetzt gilt es mir
ein neues Themengebiet zu erschließen...
Ich möchte mir jetzt für den EibPC bzw. dessen Visu einen kleine Newsseite
bauen (nein nicht über "plink" oder ähnliches)...
dazu will ich ähnlich wie beim Googleweather Macro eine xml Seite aufrufen bzw. diese empfangen und die Daten darin auswerten.. Momentan häng ich noch beim abrufen... (also direkt am Start)...
Vielleicht kann mir der ein oder andere mal einen Tipp geben wie das funktioniert...
Bisher hab ich folgendes:
(wie ihr vielleicht seht.. ordentlich beim Googleweahter geklaut.
)
[highlight=epc]
:begin XMLAbfr(Name,Refresh)
:info $News Abfrage... bla bla bla... Name des Macros + Zeit nach wieviel Minuten aktualisiert werden soll$\\
$Name$\\
$nach wieviel Minuten soll refreshed werden$
:shortinfo $News abfrage$
// News Es kommen 2 TCP Pakete an??
XMLAbfr_Name_xmlText=$$
XMLAbfr_Name_xmlText_Data1=$$
XMLAbfr_Name_xmlText_Data2=$$
XMLAbfr_Name_xmlCount=0
XMLAbfr_Name_Port=0u16
XMLAbfr_Name_IP=0u32
XMLAbfr_Name_XMLAbfrPort = 80u16
XMLAbfr_Name_XMLAbfrIP = 0u32
Startabfrage=AUS
if after(Systemstart(),10000u64) then Startabfrage = EIN endif
// TCP Verbindung aufmachen
if (Startabfrage == EIN) then {
XMLAbfr_Name_XMLAbfrIP=resolve($http://www.spiegel.de$)
}endif
if after(Startabfrage == EIN,600u64) then {
connecttcp(XMLAbfr_Name_XMLAbfrPort,XMLAbfr_Name_X MLAbfrIP)
} endif
// TCP Anfrage schicken
if (after(Startabfrage,1000u64) == EIN) then {
sendtcp(XMLAbfr_Name_XMLAbfrPort,XMLAbfr_Name_XMLA bfrIP,$GET http://www.spiegel.de/schlagzeilen/tops/index.rss$,0x0D,0x0A,0x0D,0x0A)
}endif
// Es kommen 2 Pakete an ???
if event(readtcp(XMLAbfr_Name_Port,XMLAbfr_Name_IP,XM LAbfr_Name_xmlText)) and XMLAbfr_Name_IP == XMLAbfr_Name_XMLAbfrIP then {
if (XMLAbfr_Name_xmlCount==0) then XMLAbfr_Name_xmlText_Data1=XMLAbfr_Name_xmlText endif;
if (XMLAbfr_Name_xmlCount==1) then XMLAbfr_Name_xmlText_Data2=XMLAbfr_Name_xmlText endif;
XMLAbfr_Name_xmlCount=XMLAbfr_Name_xmlCount+1
}endif
// TCP Verbindung wieder ordentlich schließen
if after(Startabfrage,10000u64) then {
closetcp(XMLAbfr_Name_Port,XMLAbfr_Name_IP)
} endif
:end
[/highlight]
Hab das auch noch mit den zwei TCP Pakten drin gelassen... ich denk das wird bei der Newsseite nicht der Fall sein, das dort zwei Pakete ankommen.. aber gut..
Wie erkenn ich eigentlich wieviele Pakete ankommen (Wireshark ??)
der String der ausgegeben wird sieht zuerst so aus:
HTTP/1.0 404 Not Found Content-Type: text/html; charset=UTF-8 X-Content-Type-Opt
heißt wohl... findet die Seite nicht, oder ???
Wie gesagt.. für Tipps und Tricks.. bin ich sehr Dankbar !!
Gruß Martin
EDIT 12:35... des sagt das Meldungsfenster im Eibstudio:
% Wert: HTTP/1.0 404 Not Found Content-Type: text/html; charset=UTF-8 X-Content-Type-Options: nosniff Date: Wed, 11 Jul 2012 10:21:55 GMT Server: sffe Content-Length: 958 X-XSS-Protection: 1; mode=block <!DOCTYPE html> <html lang=en> <meta charset=utf-8> <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width"> <title>Error 404 (Not Found)!!1</title> <style> *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px }body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}} </style> <a href=//www.google.com/><img src=//www.google.com/images/errors/logo_sm.gif alt=Google></a> <p><b>404.</b> <ins>That s an error.</ins> <p>The requested URL <code>/schlagzeilen/tops/index.rss</code> was not found on this server. <ins>That s all we know.</ins>
hab da mal was rot markiert.. !!
Also ich hab gerade ein kleines Projekt abgeschlossen und jetzt gilt es mir
ein neues Themengebiet zu erschließen...
Ich möchte mir jetzt für den EibPC bzw. dessen Visu einen kleine Newsseite
bauen (nein nicht über "plink" oder ähnliches)...
dazu will ich ähnlich wie beim Googleweather Macro eine xml Seite aufrufen bzw. diese empfangen und die Daten darin auswerten.. Momentan häng ich noch beim abrufen... (also direkt am Start)...
Vielleicht kann mir der ein oder andere mal einen Tipp geben wie das funktioniert...
Bisher hab ich folgendes:
(wie ihr vielleicht seht.. ordentlich beim Googleweahter geklaut.

[highlight=epc]
:begin XMLAbfr(Name,Refresh)
:info $News Abfrage... bla bla bla... Name des Macros + Zeit nach wieviel Minuten aktualisiert werden soll$\\
$Name$\\
$nach wieviel Minuten soll refreshed werden$
:shortinfo $News abfrage$
// News Es kommen 2 TCP Pakete an??
XMLAbfr_Name_xmlText=$$
XMLAbfr_Name_xmlText_Data1=$$
XMLAbfr_Name_xmlText_Data2=$$
XMLAbfr_Name_xmlCount=0
XMLAbfr_Name_Port=0u16
XMLAbfr_Name_IP=0u32
XMLAbfr_Name_XMLAbfrPort = 80u16
XMLAbfr_Name_XMLAbfrIP = 0u32
Startabfrage=AUS
if after(Systemstart(),10000u64) then Startabfrage = EIN endif
// TCP Verbindung aufmachen
if (Startabfrage == EIN) then {
XMLAbfr_Name_XMLAbfrIP=resolve($http://www.spiegel.de$)
}endif
if after(Startabfrage == EIN,600u64) then {
connecttcp(XMLAbfr_Name_XMLAbfrPort,XMLAbfr_Name_X MLAbfrIP)
} endif
// TCP Anfrage schicken
if (after(Startabfrage,1000u64) == EIN) then {
sendtcp(XMLAbfr_Name_XMLAbfrPort,XMLAbfr_Name_XMLA bfrIP,$GET http://www.spiegel.de/schlagzeilen/tops/index.rss$,0x0D,0x0A,0x0D,0x0A)
}endif
// Es kommen 2 Pakete an ???
if event(readtcp(XMLAbfr_Name_Port,XMLAbfr_Name_IP,XM LAbfr_Name_xmlText)) and XMLAbfr_Name_IP == XMLAbfr_Name_XMLAbfrIP then {
if (XMLAbfr_Name_xmlCount==0) then XMLAbfr_Name_xmlText_Data1=XMLAbfr_Name_xmlText endif;
if (XMLAbfr_Name_xmlCount==1) then XMLAbfr_Name_xmlText_Data2=XMLAbfr_Name_xmlText endif;
XMLAbfr_Name_xmlCount=XMLAbfr_Name_xmlCount+1
}endif
// TCP Verbindung wieder ordentlich schließen
if after(Startabfrage,10000u64) then {
closetcp(XMLAbfr_Name_Port,XMLAbfr_Name_IP)
} endif
:end
[/highlight]
Hab das auch noch mit den zwei TCP Pakten drin gelassen... ich denk das wird bei der Newsseite nicht der Fall sein, das dort zwei Pakete ankommen.. aber gut..
Wie erkenn ich eigentlich wieviele Pakete ankommen (Wireshark ??)
der String der ausgegeben wird sieht zuerst so aus:
HTTP/1.0 404 Not Found Content-Type: text/html; charset=UTF-8 X-Content-Type-Opt
heißt wohl... findet die Seite nicht, oder ???
Wie gesagt.. für Tipps und Tricks.. bin ich sehr Dankbar !!
Gruß Martin
EDIT 12:35... des sagt das Meldungsfenster im Eibstudio:
% Wert: HTTP/1.0 404 Not Found Content-Type: text/html; charset=UTF-8 X-Content-Type-Options: nosniff Date: Wed, 11 Jul 2012 10:21:55 GMT Server: sffe Content-Length: 958 X-XSS-Protection: 1; mode=block <!DOCTYPE html> <html lang=en> <meta charset=utf-8> <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width"> <title>Error 404 (Not Found)!!1</title> <style> *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px }body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}} </style> <a href=//www.google.com/><img src=//www.google.com/images/errors/logo_sm.gif alt=Google></a> <p><b>404.</b> <ins>That s an error.</ins> <p>The requested URL <code>/schlagzeilen/tops/index.rss</code> was not found on this server. <ins>That s all we know.</ins>
hab da mal was rot markiert.. !!
Kommentar