phpbar.de logo

Mailinglisten-Archive

[PHP] CURL

[PHP] CURL

Joerg Behrens php_(at)_phpcenter.de
Sat, 28 Apr 2001 19:02:59 +0200


Moin,

----- Original Message -----
From: "Thomas Schnabel" <Thomas.Schnabel_(at)_fh-joanneum.at>
> Ich versuche schon die längste Zeit eine Seite auf einem beliebigen
Server
> aifzurufen, und von dieser Infos rauszuholen und mir danach eine
eigene
> Seite zusammenzubauen und diese an meinen Client weiterzuschicken (und
ggf.
> an den Server zurück mit den geänderten Werten).
>
> Lt. Dokumentation sollte das mit der CURL Funktion funktionieren. Die
ist
> bei mir (WIN2000 mit PHP4) aber nicht vorhanden :(
>
> Weiß jemand wo/wie ich diese Fkt. von PHP für Windows (mit Apache)
> installieren kann bzw. herbekomme???
>
> bzw. Hat irgendjemand eine andere Möglichkeit wie ich so ein Problem
angehen
> könnte??
> (Seite von belibigem Server im Web abrufen, dort drinnen nach
bestimmten
> string suchen, diesen in meine eigentlich zu generierende Seite
einfügen und
> an Client schicken. bzw. Möglicherweise auch direkt an den Server
zurück(mit
> modifizierten Werten)

Also...wenn ich das package von  Daniel und Andreas (www.php4win.de)
herunter geladen habe und mal einen Blick in das extensions Verzeichnis
werfe dann laechelt mich eine 'php_curl.dll' an.

Aber wenn kein request zu einem SSL Server oder so geplant ist sollte
doch auch fopen() bzw. fsockopen() reichen.

Beispiel:
[..]

    // Oeffnen einer Verbindung zur zuletzt
    // besuchten Seite und einlesen der Daten
    $url_parts =  parse_url($request_url);
    if(empty($url_parts[port])) {
      $url_parts[port] = 80; // Setzten eines defaultports
    }

    $fp = _(at)_fsockopen($url_parts[host] , $url_parts[port] , &$errno,
&$errstr, 10);
    if($fp) {

      // Einen HTTP/1.1 Request senden
      fputs ($fp, "GET $request_path HTTP/1.1\r\n");
      fputs ($fp, "HOST: $url_parts[host]:$url_parts[port]\r\n");
      fputs ($fp, "Connection: close\r\n\r\n");
      // Einlesen der angeforderten Daten
      while (!feof($fp)) {
        $get_content .= fgets($fp,4096);
      }
      //echo "$get_content";
      preg_match_all("=<!-- MAIN START -->(.*)<!-- MAIN ENDE -->=siUm",
$get_content, $b);
      $print_content = $b[1][0];
      fclose($fp);
}
else {
  // autsch
}

Hier wird die Seite $request_url auf gerufen, eingelesen und das
zurueckgegeben was zwischen '<!-- MAIN START -->' und '<!-- MAIN
STOP -->' steht.


Gruss
Joerg Behrens
--
TakeNet GmbH                    Mobil: 0171/60 57 963
D-97080 Wuerzburg            Tel: +49 931 903-2243
Alfred-Nobel-Straße 20        Fax: +49 931 903-3025



php::bar PHP Wiki   -   Listenarchive