mirror of
https://github.com/php-curl-class/php-curl-class.git
synced 2026-08-29 19:54:49 +00:00
Merge pull request #733 from zachborboa/master
Include curl error code constant in curl error message
This commit is contained in:
@@ -52,7 +52,7 @@ $curl = new Curl();
|
||||
$curl->get('https://www.example.com/');
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Response:' . "\n";
|
||||
var_dump($curl->response);
|
||||
@@ -85,7 +85,7 @@ $curl->setCookie('key', 'value');
|
||||
$curl->get('https://www.example.com/');
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Response:' . "\n";
|
||||
var_dump($curl->response);
|
||||
|
||||
@@ -17,7 +17,7 @@ $curl->beforeSend(function ($instance) {
|
||||
$curl->get('https://httpbin.org/status/503');
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
echo 'final attempts: ' . $curl->attempts . "\n";
|
||||
echo 'final retries: ' . $curl->retries . "\n";
|
||||
} else {
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ $curl->setUrl('https://httpbin.org/get');
|
||||
$curl->exec();
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Response:' . "\n";
|
||||
var_dump($curl->response);
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ $curl->delete(
|
||||
);
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Data server received via DELETE:' . "\n";
|
||||
var_dump($curl->response->form);
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ $curl->get('https://httpbin.org/get', [
|
||||
]);
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Response:' . "\n";
|
||||
var_dump($curl->response);
|
||||
|
||||
@@ -9,7 +9,7 @@ $curl->setRange('0-49');
|
||||
$curl->get('https://code.jquery.com/jquery-1.11.2.min.js');
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
var_dump($curl->responseHeaders['status-line']); // HTTP/1.1 206 Partial Content
|
||||
var_dump($curl->responseHeaders['content-length']); // 50
|
||||
|
||||
@@ -7,7 +7,7 @@ $curl = new Curl();
|
||||
$curl->get('https://www.php.net/');
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Response cookies:' . "\n";
|
||||
var_dump($curl->responseCookies);
|
||||
|
||||
@@ -12,7 +12,7 @@ $curl->setRetry(function ($instance) use ($max_retries) {
|
||||
$curl->get('https://httpbin.org/status/503');
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
echo 'attempts: ' . $curl->attempts . "\n";
|
||||
echo 'retries: ' . $curl->retries . "\n";
|
||||
} else {
|
||||
|
||||
@@ -13,7 +13,7 @@ $curl->setRetry(function ($instance) use ($max_retries) {
|
||||
$curl->get('https://httpbin.org/status/503');
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
echo 'attempts: ' . $curl->attempts . "\n";
|
||||
echo 'retries: ' . $curl->retries . "\n";
|
||||
} else {
|
||||
|
||||
@@ -11,7 +11,7 @@ $curl->get('https://httpbin.org:443/get', [
|
||||
]);
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Response:' . "\n";
|
||||
var_dump($curl->response);
|
||||
|
||||
@@ -10,7 +10,7 @@ $curl->setRetry($max_retries);
|
||||
$curl->get('https://httpbin.org/status/503');
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
echo 'attempts: ' . $curl->attempts . "\n";
|
||||
echo 'retries: ' . $curl->retries . "\n";
|
||||
} else {
|
||||
|
||||
@@ -30,7 +30,7 @@ $curl->setStop(function ($ch, $header) {
|
||||
|
||||
$curl->get('https://www.example.com/large-500-error');
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
echo 'Response content-length: ' . $curl->responseHeaders['content-length'] . "\n";
|
||||
echo 'Actual response size downloaded: ' . $curl->getInfo(CURLINFO_SIZE_DOWNLOAD) . "\n";
|
||||
} else {
|
||||
|
||||
@@ -64,7 +64,7 @@ $curl->setHeader('Authorization', 'Bearer ' . $access_token->access_token);
|
||||
$curl->put($url, $data);
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
var_dump($curl);
|
||||
} else {
|
||||
var_dump($curl->response);
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ $curl->head('http://127.0.0.1:8000/', [
|
||||
]);
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Response headers:' . "\n";
|
||||
var_dump($curl->responseHeaders);
|
||||
|
||||
@@ -16,7 +16,7 @@ $multi_curl->beforeSend(function ($instance) {
|
||||
|
||||
$multi_curl->complete(function ($instance) {
|
||||
if ($instance->error) {
|
||||
echo 'Error: ' . $instance->errorCode . ': ' . $instance->errorMessage . "\n";
|
||||
echo 'Error: ' . $instance->errorMessage . "\n";
|
||||
echo 'final attempts: ' . $instance->attempts . "\n";
|
||||
echo 'final retries: ' . $instance->retries . "\n";
|
||||
} else {
|
||||
|
||||
@@ -11,7 +11,7 @@ $curl->options('http://127.0.0.1:8000/', [
|
||||
]);
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Response:' . "\n";
|
||||
var_dump($curl->response);
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ $curl->patch('https://httpbin.org/patch', [
|
||||
]);
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Response:' . "\n";
|
||||
var_dump($curl->response);
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ $curl->post('https://httpbin.org/post', [
|
||||
]);
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Data server received via POST:' . "\n";
|
||||
var_dump($curl->response->form);
|
||||
|
||||
@@ -15,3 +15,9 @@ $curl->progress(function ($client, $download_size, $downloaded, $upload_size, $u
|
||||
echo ' ' . $percent . '%' . "\r";
|
||||
});
|
||||
$curl->download('https://www.php.net/distributions/manual/php_manual_en.html.gz', '/tmp/php_manual_en.html.gz');
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Download error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Download complete' . "\n";
|
||||
}
|
||||
|
||||
@@ -27,6 +27,10 @@ $curl->progress(function ($client, $download_size, $downloaded, $upload_size, $u
|
||||
echo ']' . "\r";
|
||||
});
|
||||
$curl->complete(function ($instance) {
|
||||
echo "\n" . 'download complete' . "\n";
|
||||
if ($instance->error) {
|
||||
echo "\n" . 'Download error: ' . $instance->errorMessage . "\n";
|
||||
} else {
|
||||
echo "\n" . 'Download complete' . "\n";
|
||||
}
|
||||
});
|
||||
$curl->download('https://www.php.net/distributions/manual/php_manual_en.html.gz', '/tmp/php_manual_en.html.gz');
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ $curl->put('https://httpbin.org/put', [
|
||||
]);
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Data server received via PUT:' . "\n";
|
||||
var_dump($curl->response->form);
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ $curl->search('http://127.0.0.1:8000/', [
|
||||
]);
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Response:' . "\n";
|
||||
var_dump($curl->response);
|
||||
|
||||
@@ -17,7 +17,7 @@ $curl->post('https://httpbin.org/post', [
|
||||
]);
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Success' . "\n";
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ $curl->setXmlDecoder($my_xml_decoder);
|
||||
$curl->get('https://httpbin.org/xml');
|
||||
|
||||
if ($curl->error) {
|
||||
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
|
||||
echo 'Error: ' . $curl->errorMessage . "\n";
|
||||
} else {
|
||||
echo 'Response:' . "\n";
|
||||
var_dump($curl->response);
|
||||
|
||||
+35
-4
@@ -97,6 +97,7 @@ class Curl
|
||||
];
|
||||
|
||||
private static $deferredProperties = [
|
||||
'curlErrorCodeConstant',
|
||||
'effectiveUrl',
|
||||
'rfc2616',
|
||||
'rfc6265',
|
||||
@@ -519,10 +520,17 @@ class Curl
|
||||
|
||||
// Include additional error code information in error message when possible.
|
||||
if ($this->curlError) {
|
||||
$this->curlErrorMessage =
|
||||
curl_strerror($this->curlErrorCode) . (
|
||||
empty($this->curlErrorMessage) ? '' : ': ' . $this->curlErrorMessage
|
||||
);
|
||||
$curl_error_message = curl_strerror($this->curlErrorCode);
|
||||
|
||||
if ($this->curlErrorCodeConstant !== '') {
|
||||
$curl_error_message .= ' (' . $this->curlErrorCodeConstant . ')';
|
||||
}
|
||||
|
||||
if (!empty($this->curlErrorMessage)) {
|
||||
$curl_error_message .= ': ' . $this->curlErrorMessage;
|
||||
}
|
||||
|
||||
$this->curlErrorMessage = $curl_error_message;
|
||||
}
|
||||
|
||||
$this->httpStatusCode = $this->getInfo(CURLINFO_HTTP_CODE);
|
||||
@@ -547,6 +555,7 @@ class Curl
|
||||
$this->errorMessage = $this->curlError ? $this->curlErrorMessage : $this->httpErrorMessage;
|
||||
|
||||
// Reset select deferred properties so that they may be recalculated.
|
||||
unset($this->curlErrorCodeConstant);
|
||||
unset($this->effectiveUrl);
|
||||
unset($this->totalTime);
|
||||
|
||||
@@ -1832,6 +1841,28 @@ class Curl
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Curl Error Code Constant
|
||||
*
|
||||
* @access private
|
||||
*/
|
||||
private function _get_curlErrorCodeConstant()
|
||||
{
|
||||
$constants = get_defined_constants(true);
|
||||
$filtered_array = array_filter(
|
||||
$constants['curl'],
|
||||
function ($key) {
|
||||
return strpos($key, 'CURLE_') !== false;
|
||||
},
|
||||
ARRAY_FILTER_USE_KEY
|
||||
);
|
||||
$curl_const_by_code = array_flip($filtered_array);
|
||||
if (isset($curl_const_by_code[$this->curlErrorCode])) {
|
||||
return $curl_const_by_code[$this->curlErrorCode];
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Effective Url
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user