Skip to content

Instantly share code, notes, and snippets.

@sherman
Created March 1, 2013 14:29
Show Gist options
  • Save sherman/5065004 to your computer and use it in GitHub Desktop.
Save sherman/5065004 to your computer and use it in GitHub Desktop.
trivia http server
<?php
set_time_limit (0);
$address = 'localhost';
$port = 9999;
$socket = socket_create(AF_INET, SOCK_STREAM, 0);
socket_get_option($socket, SOL_SOCKET, SO_LINGER);
socket_bind($socket, $address, $port) or die('Could not bind to address');
socket_listen($socket);
while (true) {
$client = socket_accept($socket);
$request = socket_read($client, 2048);
if (stripos($request, "/original") !== false) {
echo "Original:" . $request;
$response = "HTTP/1.1 307 OK\r\n";
$response .= "Location: http://$address:$port/redirected\r\n\r\n";
} else if (stripos($request, "/redirected") !== false) {
echo "Redirected:" . $request;
$response = "HTTP/1.1 200 OK\r\n\r\n";
} else {
socket_close($client);
socket_close($socket);
exit("Unknown request");
}
socket_write($client, $response);
socket_close($client);
}
socket_close($socket);
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment