phpbar.de logo

Mailinglisten-Archive

AW: [php] Socketverbindung hinter proxy

AW: [php] Socketverbindung hinter proxy

Gloss Mathias php_(at)_phpcenter.de
Tue, 30 Apr 2002 13:17:20 +0200


Hallo,

> Von: 	Marc Beyerlin[SMTP:beyerlin_(at)_magic-garden.de]
>
> > Was für eine Socketverbindung zum Teufel (Dienst) ?
> > Und über was für einen verteufelten Proxy (Socks, HTTP, FTP,...)?
>
> Eine teuflische http solls mal werden...
>
Wenns über ein HTTP-Proxy geht ungefähr so (Auszüge aus einem
hier funktionierenden Script):

$h_c['quell_url']    = 'http://www.xy.de/z/index.html';
$h_c['proxy_use']    = true;
$h_c['proxy_server'] = 'www-proxy.inhouse.de';
$h_c['proxy_port']   = '8080';

  if ( $h_c['proxy_use'] == false ) {
    $fp_i = fopen($h_c['quell_url'], 'r');
    while ( $s_buf = fgets( $fp_i, 4096 ) ) {
      $a_HTML[] = $s_buf;
    } # while
    fclose($fp_i);
  } else {
    $fp_i = fsockopen($h_c['proxy_server'], $h_c['proxy_port'], &$errno,
&$errstr);
    if( !$fp_i ) {
      echo "proxy not available ! $errno : $errstr";
      exit();
    } else {
      $s_SeenEndOfHeaders = false;
      fputs($fp_i,'GET '.$h_c['quell_url']." HTTP/1.0\r\n\r\n");
      while (!feof($fp_i)) {
        $s_buf = trim(fgets($fp_i,4096));
        if ( $s_buf == '' && $s_SeenEndOfHeaders == false ) {
          $s_SeenEndOfHeaders = true;
          next;
        }
        if ( $s_SeenEndOfHeaders == true ) {
          $a_HTML[] = $s_buf;
        }
      }
    }
  }


Die Webseite steht dann im Array  $a_HTML


Grüße, Mathias


php::bar PHP Wiki   -   Listenarchive