For a 404 response to actually trigger an error as the example seems to be trying to demonstrate the following option should be set:
curl_setopt($ch,CURLOPT_FAILONERROR,true);
As per http://curl.haxx.se/libcurl/c/libcurl-errors.html
CURLE_HTTP_RETURNED_ERROR (22)
This is returned if CURLOPT_FAILONERROR is set TRUE and the HTTP server returns an error code that is >= 400. (This error code was formerly known as CURLE_HTTP_NOT_FOUND.)
curl_error
(PHP 4 >= 4.0.3, PHP 5)
curl_error — Return a string containing the last error for the current session
Description
string curl_error
( resource $ch
)
Returns a clear text error message for the last cURL operation.
Return Values
Returns the error message or '' (the empty string) if no error occurred.
Examples
Example #1 curl_error() example
<?php
// Create a curl handle to a non-existing location
$ch = curl_init('http://404.php.net/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if(curl_exec($ch) === false)
{
echo 'Curl error: ' . curl_error($ch);
}
else
{
echo 'Operation completed without any errors';
}
// Close handle
curl_close($ch);
?>
curl_error
paul at paulmcgarry dot com
25-Nov-2008 02:00
25-Nov-2008 02:00
noah dot figg at xpertimage dot com
13-Mar-2008 11:06
13-Mar-2008 11:06
The return value for this function is actually an english description of the error, rather than an error number, FYI.
