One of the best explanations of the Strategy and Decorator patterns I have come across.
An interesting piece on the subject at Mike-o-Matic.
The code shows how to get through a proxy with user authentication
Lifted from http://php.net/fopen. Contributed by user rafaelbc.
<?php
function proxy_url($proxy_url)
{
$proxy_name = ‘127.0.0.1′;
$proxy_port = 4001;
$proxy_user = "user"; // added
$proxy_pass = "password"; // added
$proxy_cont = ‘’;
$proxy_fp = fsockopen($proxy_name, $proxy_port);
if (!$proxy_fp) {return false;}
fputs($proxy_fp, "GET $proxy_url HTTP/1.0\r\nHost: $proxy_name\r\n");
fputs($proxy_fp, "Proxy-Authorization: Basic " . base64_encode ("$proxy_user:$proxy_pass") . "\r\n\r\n"); // added
while(!feof($proxy_fp)) {$proxy_cont .= fread($proxy_fp,4096);}
fclose($proxy_fp);
$proxy_cont = substr($proxy_cont, strpos($proxy_cont,"\r\n\r\n")+4);
return $proxy_cont;
}
?>