Archiv verlassen und diese Seite im Standarddesign anzeigen : Daten aus HTML/PHP Quelltext auslesen?
Jo, ich würde gerne etwas aus dem Quelltext einer
php - Page auslesen. Wie mache ich das nun? Mit $read?
sent: 22,587.17 MB / recv: 14,293.68 MB
da raus möchte ich gerne
sent = 22,587.17 MB
rcvd = 14,293.68 MB
Man könnte auf sent und rcvd gehen, diese Wörter kommen im Quelltext sonst nirgends vor!
Nur, wie fang ichs an?
Rausfiltern mit Tokens, aber wie kann ich die Datei überhaupt auslesen?
liegen die Dateien Lokal vor?
Wenn ja einfach mit $read [-ntl# -swtext] <filename>
und dann nach deinen Strings suchen die du verwenden willst...
Wenn sie auf nem Webserver liegen musst du mit /sockopen <name> <address> <port> ne verbindung zum Webserver aufbaun und mit /sockwrite [-tnb] <name> [numbytes] GET http://bla.de/blub.php die Seite anfordern...
und mit dem Event /sockread [-fn] [numbytes] <%var|&binvar> fängst du die Daten ab und speicherst sie in einer Variablen ... welche du dann nach deinem gesuchten String durchsuchst..
:P
Musst noch aufpassen, das der Inhalt, der dir bei on sockread übergeben wird grösser sein kann als, der platz den du für eine %var zur verfügung hast...
Musst dich da am besten noch mit &binvars auseinander setzen..
uff, komplizierter, als ich dachte.. Na, mal schauen ;)
THX
Hmmm, bin nun einen Schritt weiter...
Ich bekomm die PHP nun auf meinen rechner. Aber er führt sie quasi nicht aus...
Also ich erhalte nur den Header...
Und da is nur ein banner, aber net die Info, die ich will...
Irgendwelche Ideen?
gib ma den link ...
kann ja sein das da ein META refresh drin ist oder frames oder sowas..., dann musste natürlich den links folgen um an die daten zu kommen...
Danke Codeq, auf sone einfache Idee bin ich noch gar nich gekommen ;)
hehe, ich probier selber erst nochmal rum :p
THX für den Denkanstoß! :)
Wintermute
19.07.2005, 09:08
Hallo
Ich habe mir das Tutorial zu Sockets unter mIRC angesehen und den Beispiel Code für meine Zwecke modifiziert.
Leider hänge ich mit folgendem Problem fest:
mit einem Browser kann ich die gewünschten Daten mit der Syntax http://www.vfradio.com:8004/7.html abrufen. Bisher ist mir das aber nicht mit mIRC gelungen. Entweder bekommen ich ein "Page not found" body zurück oder er reseted einfach den Socket. (je nach Kombination von Port 80 oder 8004 im sockopen bzw. sockwrite)
So sieht das im Moment bei mir aus:
alias hgpl {
set %pl_sockname pl_socket
set %pl_window @plwindow
window %pl_window
if ($sock(%pl_sockname).status == active) {
pl_sock_msg close $sock(%pl_sockname).ip $+ : $+ $sock(%pl_sockname).port Connection reset. was still active
sockclose %pl_sockname
}
sockopen %pl_sockname www.vfradio.com (http://www.vfradio.com) 80
}
on *:SOCKOPEN:%pl_sockname: {
pl_sock_msg open $sock($sockname).ip
sockwrite -n $sockname GET http://www.vfradio.com:8004/7.html
}
on *:SOCKCLOSE:%pl_sockname: {
pl_sock_msg close $sock($sockname).ip $+ : $+ $sock($sockname).port Connection closed by peer
}
on *:SOCKREAD:%pl_sockname: {
while ($sockerr == 0) {
sockread -f %pl
if ($sockbr == 0) { return }
if (%pl) { pl_sock_msg read %pl }
}
pl_sock_msg close $sock($sockname).ip $+ : $+ $sock($sockname).port Connection closed. Data recieved
sockclose $sockname
}
alias pl_sock_msg {
tokenize 32 $1-
if ($1 == syntax) { echo $color(notice) %pl_window *** Keine Domain angegeben. Syntax: /hotgothplaylist }
elseif ($1 == open) { echo $color(notice) %pl_window *** Verbindung zu $2 hergestellt. }
elseif ($1 == close) { echo $color(notice) %pl_window *** Verbindung von $2 getrennt ( $+ $3- $+ ) }
elseif ($1 == read) { echo %pl_window %pl }
}
Der Code ist noch nicht fertig, aber erstmal müssen die entscheidenden Daten angeliefert werden ;)
Ich hoffe mir kann jemand weiterhelfen.
on *:SOCKOPEN:%pl_sockname: {
if !$sockerr {
pl_sock_msg open $sock($sockname).ip
sockwrite -n $sockname GET /7.html HTTP/1.1 (http://www.abc.com/7.html)
sockwrite -n $sockname Host: www.xyz.de
sockwrite -n $sockname $crlf
}
}
Du hast den Header nicht richtig gesendet :)
Wintermute
19.07.2005, 10:44
Besten Dank :)
Sieht schon besser aus, auch wenn ich noch nicht die gewünschte Info zurück bekommen habe, aber ich denke mit etwas probieren müßte ich so langsam mal an die gewünschten Daten kommen :)
EDIT: Hinbekommen, Danke für die Hilfe. Es fehlte noch der UserAgent:
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.