Mailinglisten-Archive |
----- Original Message ----- From: "Thomas Michel" <thomas.michel_(at)_datacomm.ch> To: "Php_(at)_Phpcenter. De" <php_(at)_phpcenter.de> Sent: Sunday, November 11, 2001 4:49 PM Subject: [php] fsockopen,fputs > Hallo zusammen > > Ich möchte die verbindung per fsockopen zu einer anderen webseite herstellen > den html code als variabel speichern. mir ist es klar das dies auch mit > fopen gehen kann jedoch kann ich ja dann keine browser infos schicken oder > nicht? Was muss ich verwenden (fputs ist klar) das ich der inhalt der seite > in einer var bekomme? > Mit fsockopen lassen sich viel feinere Sachen machen als mit fopen , senden von Postrequests, einloggen in per basic auth geschuetzte Verz. und vieles mehr. Ein simpler GET Request koennte so aussehen function get_html($url){ $url_parts = parse_url($url); if(empty($url_parts[port])) { $url_parts[port] = 80; // setting default port ! } $fp = _(at)_fsockopen($url_parts[host] , $url_parts[port], &$errno, &$errstr, 5); if(!is_resource($fp)){ return "Fehler: $errstr ($errno)<br />\n"; } else{ fputs ($fp, "GET / HTTP/1.1\n"); fputs ($fp, "HOST: $url_parts[host]:$url_parts[port]\n"); fputs ($fp, "CONNECTION: close\r\n\r\n"); // reading incoming data while (!feof($fp)) { $content .= fgets($fp,4096); } preg_match_all("=<html>(.*)</html>=siUm", $content, $b); fclose($fp); return "<html>\n".$b[1][0]."</html>\n"; } Unschoen ist hier nur das man die HTML Tags selber dazufuegen muess und das ein vorhandene <!DOCTYPE ..> unter den Tisch faellt. Aber ansich muesste man nur die Antwortheader ueberlesen und dann ab der ersten Leerzeile bis zum Ende lesen. Gruss Joerg Behrens
php::bar PHP Wiki - Listenarchive