api_interface.inc.php code
<?php class url_shortener { const API_URL = "http://localhost:80/shortner/api.php"; //Internal function for sending post data. private static function send_post_data($data) { $url = parse_url(self::API_URL); $boundary = md5(microtime(true)); $post = ''; foreach ($data as $name => $value) { $post .= "--{$boundary}\r\n"; $post .= "Content-Disposition: form-data; name=\"{$name}\"\r\n\r\n"; $post .= $value . "\r\n"; } $post .= "--{$boundary}--\r\n"; if (isset($url['query'])) { $head = "POST = {$url['path']}?{$url['query']} HTTP/1.0\r\n"; } else { $head = "POST = {$url['path']} HTTP/1.0\r\n"; } $head .= "Host: {$url['host']}\r\n"; $head .= "Content-Type: multipart/form-data; boundary=\"{$boundary}\"\r\n"; $head .= "Content-Length: " . strlen($post) . "\r\n"; $head .= "Connection: close\r\n\r\n"; $socket = fsockopen($url['host'], ((isset($url['port'])) ? $url['port'] : 80)); fwrite($socket, "{$head}{$post}"); echo end(explode("\r\n\r\n", stream_get_contents($socket))); } //Gets the URL for the given key. public static function lookup ($key) { self::send_post_data(array("lookup" => $key)); //self::send_post_data(0); } //Shortens the URL. public static function shorten ($url) { } } ?>
HTML
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Untitled Document</title> </head> <body> Array ( [scheme] => http [host] => localhost [port] => 80 [path] => /shortner/api.php ) POST = /shortner/api.php HTTP/1.0 Host: localhost Content-Type: multipart/form-data; boundary="ec1ec0a5e31a6720e7292de48ce3a805" Content-Length: 126 Connection: close --ec1ec0a5e31a6720e7292de48ce3a805 Content-Disposition: form-data; name="lookup" 0 --ec1ec0a5e31a6720e7292de48ce3a805-- <br /> <font size='1'><table class='xdebug-error xe-strict-standards' dir='ltr' border='1' cellspacing='0' cellpadding='1'> <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Strict standards: Only variables should be passed by reference in C:\wamp\www\test\api_interface.inc.php on line <i>37</i></th></tr> <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0005</td><td bgcolor='#eeeeec' align='right'>245128</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\test\index.php' bgcolor='#eeeeec'>..\index.php<b>:</b>0</td></tr> <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0010</td><td bgcolor='#eeeeec' align='right'>260976</td><td bgcolor='#eeeeec'>url_shortener::lookup( )</td><td title='C:\wamp\www\test\index.php' bgcolor='#eeeeec'>..\index.php<b>:</b>14</td></tr> <tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0010</td><td bgcolor='#eeeeec' align='right'>261304</td><td bgcolor='#eeeeec'>url_shortener::send_post_data( )</td><td title='C:\wamp\www\test\api_interface.inc.php' bgcolor='#eeeeec'>..\api_interface.inc.php<b>:</b>42</td></tr> </table></font> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>400 Bad Request</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> </p> </body></html> </body> </html>
Any help would be greatly appreciated