note 39179 deleted from function.gzopen by nlopess
| From: | nlopess@php.net | Date: | Tue, 20 Jan 2004 15:06:08 +0000 |
| Subject: | note 39179 deleted from function.gzopen by nlopess | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-63880@lists.php.net to get a copy of this message | ||
Note Submitter: mlegris@newcommerce.ca
----
Following my comment, here is a script to process HTTP1.0 and HTTP1.1 requests, for both POST and
GET methods. That way, you simply save the results to a file and THEN use gzopen on it. Yes ?
function http10GetRequest($server, $url)
{
$request = "GET ".$url." HTTP/1.0\r\n";
$request .= "Host: ".$server."\r\n\r\n";
echo "server = ".$server."<br>";
$fp = fsockopen ($server, 80, $errno, $errstr, 30);
if (!$fp) {
echo "error : $errstr ($errno)<br>\n";
} else {
fputs ($fp, $request);
while (!feof($fp)) {
$return .= fgets ($fp,128);
}
fclose ($fp);
}
return $return;
}
function http11GetRequest($server, $url)
{
$request = "GET ".$url." HTTP/1.0\r\n";
$request .= "Accept: text/html, image/gif, image/jpeg, */*\r\n";
$request .= "Accept-Language: fr\r\n";
$request .= "User-Agent: Mozilla/4.0 (compatible; psintelBot 1.0)\r\n";
$request .= "Host: ".$server."\r\n";
$request .= "Connection: Close\r\n";
$request .= "Cache-Control: no-cache\r\n";
$request .= "\r\n\r\n";
$fp = fsockopen ($server, 80, $errno, $errstr, 30);
if (!$fp) {
echo "error : $errstr ($errno)<br>\n";
} else {
fputs ($fp, $request);
while (!feof($fp)) {
$return .= fgets ($fp,128);
}
fclose ($fp);
}
return $return;
}
function http11PostRequest($server, $url, $content, $referer, $cookies)
{
$request = "POST ".$url." HTTP/1.1\r\n";
$request .= "Accept: */*\r\n";
$request .= "Referer: ".$referer."\r\n";
$request .= "Accept-Language: fr-ca\r\n";
$request .= "Content-Type: application/x-www-form-urlencoded\r\n";
$request .= "Accept-Encoding: gzip, deflate\r\n";
$request .= "User-Agent: Mozilla/4.0 (compatible; psintelBot 1.0)\r\n";
$request .= "Host: ".$server."\r\n";
$request .= "Content-Length: ".strlen($content)."\r\n";
$request .= "Connection: Keep-Alive\r\n";
$request .= "Cache-Control: no-cache\r\n";
$request .= "\r\n";
$request .= $content;
$request .= "\r\n";
$fp = fsockopen ($server, 80, $errno, $errstr, 30);
if (!$fp) {
echo "error : $errstr ($errno)<br>\n";
} else {
fputs ($fp, $request);
while (!feof($fp)) {
$return .= fgets ($fp,128);
}
fclose ($fp);
}
return $return;
}
Of course you need the Sockets extension installed.. For ftp, i believe PHP has FTP functions
built-in.