note 22335 deleted from function.fopen by sniper
| From: | sniper@php.net | Date: | Sat, 27 Jul 2002 20:53:34 +0000 |
| Subject: | note 22335 deleted from function.fopen by sniper | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-33711@lists.php.net to get a copy of this message | ||
Here is an encompassing solution for most requirements. Not tested with SSL:
function WebGet ( $address, $port = 80, $url = '/', $post = false, $cookie = false) {
/* Use fsockopen to catch the URL */
$fp = fsockopen ( $address, $port);
/* Zero Fill */
$ret = '';
if ($fp) {
/* Success. Now check to see the type of request */
if ($post) {
$request = "POST $url HTTP/1.1\n";
$request .= "Host: $address\n";
$request .= "Content-Length: " . strlen( $post ). "\n";
$request .= "Content-Type: application/x-www-form-urlencoded\n";
if ($cookie) $request .= "Cookie: $cookie\n";
$request .= "Connection: Close\n\n";
$request .= $post;
} else {
$request = "GET $url HTTP/1.1\n";
$request .= "Host: $address\n";
$request .= "Content-Type: text/html\n";
if ($cookie) $request .= "Cookie: $cookie\n";
$request .= "Connection: Close\n\n";
}
$return = '';
/* Write the Request */
fputs ($fp, $request);
/* Get the response */
while (!feof($fp)) $ret .= fgets ( $fp, 128 );
/* close the connection */
fclose ($fp);
}
return $ret;
}