|
Posted by Lisa Pearlson on 06/28/05 08:37
Hi,
I have a php script with no more than this:
<?php echo "Hello World!"; ?>
When a webbrowser client requests data, it receives Apache server headers,
followed by my data:
HTTP/1.1 200 OK
Date: Tue, 28 Jun 2005 06:02:56 GMT
Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) mod_ssl/2.8.12 OpenSSL/0.9.6b
DAV/1.0.2 PHP/4.1.2 mod_perl/1.26
X-Powered-By: PHP/4.1.2
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
c
Hello World!
0
=======================
QUESTIONS:
- Where do the 'c' and '0' come from? '0' just denoting the end of the data?
- How do I prevent HTTP headers sent back to the client? I wish to only send
"Hello World!", without any headers. The reason is that the client will be a
piece of hardware that expects binary data as response, not HTTP headers.
I don't think this can be done with PHP, as it is probably handled by
apache.
If so, can I use Apache's RewriteEngine to accomplish this, in case
User-Agent is "^MyThinHardware.*" ?
How can I keep Apache from sending these headers?
=======================
I use the following php script to simulate a client requesting the php page,
and display the headers:
$header = "POST $cgi HTTP/1.1\r\n";
$header .= "Host: $host\r\n";
$header .= "User-Agent: MyThinHardware/1.0\r\n";
$header .= "Content-Type: application/octet-stream\r\n";
$header .= "Content-Length: $size\r\n";
$header .= "Connection: close\r\n";
$header .= "\r\n";
/* post data */
$fp = fsockopen($host, 80, $errno, $errstr, 30);
if (!$fp) {
die("$errstr ($errno)");
}
else {
fwrite($fp, $header);
fwrite($fp, $data, $size);
while (!feof($fp)) {
$response .= fgets($fp, 128);
}
fclose($fp);
}
echo $response;
Navigation:
[Reply to this message]
|