problems with gzuncompress data from fsockopen (data error)
| From: | akorthaus at web dot de | Date: | Wed, 05 Feb 2003 11:05:53 +0000 |
| Subject: | problems with gzuncompress data from fsockopen (data error) | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-134392@lists.php.net to get a copy of this message | ||
Hello!
Using the following script I try to get a html-page gzip-compressed, and
uncompress the body of the HTTP-message.
<?php
define(CRLF,"\xD\xA");
$host = "selfforum.teamone.de";
$path = "/";
$fp = fsockopen($host, 80);
$header = "GET ".$path." HTTP/1.0".CRLF;
$header .= "Accept-Encoding: gzip".CRLF;
$header .= "Host: ".$host.CRLF;
$header .= CRLF;
fputs($fp, $header);
while(!feof($fp)) {
$result .= fread($fp,1);
}
fclose($fp);
$compressed_result = explode(CRLF.CRLF, $result, 2);
echo "length: " strlen($compressed_result[1])."\n"; // length of compressed
message
// without header, to
compare
// with content-length
header
echo gzuncompress($compressed_result[1]);
?>
I get the following error:
Warning: gzuncompress: data error in /www/webseite/temp/sock2.php on line 32
Line 32: echo gzuncompress($compressed_result[1]);
From server I get HTTP-response "contend-encoding: gzip", HTTP-Statuscode
"200",
the content-length in HTTP header is the same as my own echo "length: "
strlen($compressed_result[1]).";
$compressed_result[1] contains binary data, no plain-text.
gzcompress and gzuncompress usually work without problems in.
Server-OS: Linux 2.4
Webserver: Apache 1.3.26
PHP 4.2.3.(CGI)
Perhaps there are some charakters form binary gzip-code interpretet as
functional character, could I escape something here? Or some problems with
line-breaks, or blanks? I have no idea whats going wrong here. I hope
someone here knows what to do or where to look for errors!
Thank you,
Andreas