note 44986 deleted from function.curl-setopt by felipe

From: Date: Thu, 03 Jan 2008 02:13:30 +0000
Subject: note 44986 deleted from function.curl-setopt by felipe
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-134704@lists.php.net to get a copy of this message
Note Submitter: Paul dot Ebermann at esperanto dot de ---- I changed the parse_response() function given by "brett at brettbrewer dot com", so it now ignores 1xx-responses, which may come before the real response. <?php 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) */ do { list($response_headers,$response) = 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]; } else { $response_code = "Error"; } } while (substr($response_code, 0,1) == "1"); $response_body = $response; // 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); } ?>

« previous php.notes (#134704) next »