PHP cURL - 没有检测到错误?

时间:2014-12-17 19:29:59

标签: php curl response server

我对返回cURL响应代码错误感到有些奇怪。以下代码,尽管远程主机抛出404,但不会出现cURL错误。为什么呢?

$ch = curl_init('http://www.google.com/13ewsdasd'); //<-- definitely a 404
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
echo curl_exec($ch) ? 'All OK' : 'Error: '.curl_error($ch); //'All OK'

我发现this answer建议将curl_get_InfoCURL_INFO_HTTP_CODE标志一起使用,但也没有任何欢乐 - 这只是给了我&#34; 0&#34;。

$ch = curl_init('http://www.google.com/13ewsdasd'); //<-- still a 404
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE); //<-- 0

我似乎记得以前用cURL检测错误的问题。我错过了一些明显的东西吗我只想检测远程服务器何时抛出404或500.

另一个答案建议通过get_headers()执行此操作,但为了查找第一个请求的响应代码,必须触发第二个单独的请求似乎很愚蠢。

0 个答案:

没有答案