Crew algemeen |
|
Ik gebruik deze code om te testen (socket.php):
set_time_limit(2);
$socket = fsockopen('127.0.0.1', 80, $errno, $errstr, 1);
if ($socket === false) {
echo $errstr . '(' . $errstr . ')';
} else {
$send = array(
'HEAD /receive.php?var=blaat HTTP/1.1',
'Host: localhost',
'Connection: Close'
);
fwrite($socket, implode("\r\n", $send) . "\r\n\r\n");
while (!feof($socket)) {
echo fgets($socket, 1024);
}
fclose($socket);
}
$socket = fsockopen('127.0.0.1', 80, $errno, $errstr, 1); if ($socket === false) { echo $errstr . '(' . $errstr . ')'; } else { 'HEAD /receive.php?var=blaat HTTP/1.1', 'Host: localhost', 'Connection: Close' ); } }
En ik heb een bestand dat een antwoord stuurt (receive.php):
<?php
define('NLN', "\n");
echo '<strong>COOKIE:</strong>' . NLN;
print_r($_COOKIE);
echo NLN . '<strong>GET:</strong>' . NLN;
print_r($_GET);
echo NLN . '<strong>POST:</strong>' . NLN;
print_r($_POST);
echo NLN. '<strong>SERVER:</strong>' . NLN;
print_r($_SERVER);
file_put_contents('tempie.txt', $_GET['var']);
?>
<?php echo '<strong>COOKIE:</strong>' . NLN ; echo NLN . '<strong>GET:</strong>' . NLN ; echo NLN . '<strong>POST:</strong>' . NLN ; echo NLN . '<strong>SERVER:</strong>' . NLN ; file_put_contents('tempie.txt', $_GET['var']); ?>
Er wordt ook met een HEAD request in het bestand geschreven (wel eerst leeggehaald natuurlijk) dus de php wordt wel uitgevoerd. Ook als ik vannuit receive.php headers verstuur als deze:
header('Een of andere var: hierzo! ^^');
header('Een of andere var: hierzo! ^^');
Wordt die netjes verwerkt in de headers die ik dan terugkrijg:
HTTP/1.1 200 OK
Date: Sun, 22 Apr 2007 18:07:08 GMT
Server: Apache/2.0.55 (Win32) PHP/5.2.1
X-Powered-By: PHP/5.2.1
Een of andere var: hierzo! ^^
Connection: close
Content-Type: text/html
HTTP/1.1 200 OK Date: Sun , 22 Apr 2007 18:07:08 GMT Server: Apache/2.0.55 (Win32) PHP/5.2.1 X-Powered-By: PHP/5.2.1 Een of andere var: hierzo! ^^ Connection: close Content-Type: text/html
Volgens mij heb ik het zo wel zo'n beetje bewezen. |