Webseiten abrufen mit SOCKET

mit fsockopen() sollte es gehen, du musst da allerdings deine Benutzerdaten mitschicken,
wenn das Forum nicht öffentlich ist...und das könnte problematisch werden, hängt halt davon ab, wie du dich im Forum authentifizieren musst.
 
Mit meiner Klasse solltest Du an die entsprechenden Daten kommen koennen. Damit kannst Du Dich auch einloggen und all den Kram. Falls irgendwelche wilden User-Agents (oder garkeiner) nicht akzeptiert werden kannst Du auch den User-Agent selbst bestimmen sodass es so aussieht als wuerde ein Browser da rumwuehlen.
Nur die Auswertung des zurueckgegebenen HTML-Codes musst Du selbst uebernehmen.
 
Dennis Wronka hat gesagt.:
Mit meiner Klasse solltest Du an die entsprechenden Daten kommen koennen. Damit kannst Du Dich auch einloggen und all den Kram. Falls irgendwelche wilden User-Agents (oder garkeiner) nicht akzeptiert werden kannst Du auch den User-Agent selbst bestimmen sodass es so aussieht als wuerde ein Browser da rumwuehlen.
Nur die Auswertung des zurueckgegebenen HTML-Codes musst Du selbst uebernehmen.

Es handelt sich um "Burning Board 1.1.1 © 2001 WoltLab GbR".
Ich bin da mit Cookie eingeloggt. Probiere es nachher mal mit deiner Klasse aus.
 
Cookies sind auch kein Problem. Du musst halt nur selbst dafuer sorgen, dass diese mitgeschickt werden, aber die Klasse holt sie Dir aus der Server-Antwort sodass Du sie leicht verarbeiten kannst.
 
Dennis Wronka hat gesagt.:
Cookies sind auch kein Problem. Du musst halt nur selbst dafuer sorgen, dass diese mitgeschickt werden, aber die Klasse holt sie Dir aus der Server-Antwort sodass Du sie leicht verarbeiten kannst.

Wie sorge ich dafür, dass sie mitgeschickt werden?
Und wie mache ich das, wenn ich einen Proxy nutzen muss?

Ich habe folgendes probiert, was leider nur eine weiße Seite anzeigt:


PHP:
require_once 'httpconnection.class.php';
$http=new httpconnection("bbs.domain.it");
$data=$http->get("forum/thread.php","threadid=3783&boardid=60&styleid=&page=3#70","","","");
echo nl2br(print_r($data['head'],true));
echo $data['body'];
unset($http);

Weiß einer wieso?

Beste Grüße,
sh0x
 
Mit einem Proxy hab ich damit noch nicht rumprobiert.
Muss mal den Squid installieren und dann rumprobieren wie die Klasse dafuer angepasst werden muss.
Cookies gibst Du im Parameter nach den Uebergabe-Parametern an, das Format ist das gleiche.
Du brauchst uebrigens nicht mit leeren Werten auffuellen, dafuer hab ich den optionalen Parametern ja bereits Default-Werte spendiert.
 
Dennis Wronka hat gesagt.:
Cookies gibst Du im Parameter nach den Uebergabe-Parametern an, das Format ist das gleiche.


Das verstehe ich noch nicht ganz. Ich bekomme jetzt zwar etwas angezeigt, nur leider die Login-Aufforderung des Forums. Ich möchte aber die Seiten nach dem LOGIN abrufen.
Wenn das die relevanten Zeilen meines Codes sind:
PHP:
$http=new httpconnection("bbs2.wolff-bs.it");
$data=$http->get("/forum/thread.php","threadid=3783&boardid=60&styleid=&page=3#70","MEIN_FOREN_USERNAME","MEIN_FOREN_PASSWORD");

...dann funktioniert es nicht. Ich bekomme trotzdem die Anmeldeanforderung "Bitte geben Sie Benutzernamen und Kennwort ein".

Kann deine Klasse sowas? Oder hast du damit nur HTTP_AUTH-Authorisationen per HTACCESS abgedeckt?
 
DIe Parameter zur Anmeldung sind fuer .htaccess-Anmeldung.
Ein normales Login laeuft ja ueber ein Formular und dementsprechend musst Du da die entsprechenden Daten per POST an das richtige Script schicken.
Dafuer musst Du halt wissen wie die jeweiligen Eingabefelder im Formular heissen.
Uebrigens, wenn Du Parameter auslassen willst, wie in diesem Fall den Cookie, kannst Du ihn nicht einfach weglassen, denn das Script weiss ja nicht was Du vorhast. Du musst dann entsprechend false oder '' uebergeben.
 
Zurück