function parse_response($response){ /* ***original code extracted from examples at ***http://www.webreference.com/programming /php/cookbook/chap11/1/3.html ***returns an array in the following format which varies depending on headers returned [0] => the HTTP error or response code such as 404 [1] => Array ( [Server] => Microsoft-IIS/5.0 [Date] => Wed, 28 Apr 2004 23:29:20 GMT [X-Powered-By] => ASP.NET [Connection] => close [Set-Cookie] => COOKIESTUFF [Expires] => Thu, 01 Dec 1994 16:00:00 GMT [Content-Type] => text/html [Content-Length] => 4040 ) [2] => Response body (string) */ list($response_headers,$response_body) = explode("\r\n\r\n",$response,2); $response_header_lines = explode("\r\n",$response_headers); // first line of headers is the HTTP response code $http_response_line = array_shift($response_header_lines); if (preg_match('@^HTTP/[0-9]\.[0-9] ([0-9]{3})@',$http_response_line, $matches)) { $response_code = $matches[1]; } // put the rest of the headers in an array $response_header_array = array(); foreach ($response_header_lines as $header_line) { list($header,$value) = explode(': ',$header_line,2); $response_header_array[$header] = $value; } return array($response_code,$response_header_array,$response_body); }