if curl getinfo for HTTP CODE is not returning a code?
I am doing a normal curl call to a webservice and I grab the return HTTP code through
$code = curl_getinfo ($ch, CURLINFO_HTTP_CODE);
It does return me $code as 200 - which is good. But logging the curl calls now from a week, there where few calls to the same webservice which didn't return anything! so basically I am getting $code as blank.
Can someone tell me what should be going wrong under those scenarios, and if can debug it more!?
Thanks, Tanmay
-----------------------Update-------------------------
Thanks everyone for the info. Yes I was also thinking the same, its not reaching the server. I will update my code with to get curl_error && curl_errno and will update you guys soon.
Thanks again.
---------------------- Update 2--------------------------------------------------------- I did update my code to return me the error no 7 - couldn't connect to host. I did logged all the curl calls, so basically around 90-98% of curl calls are executing good. But only 1-2% of curl calls are not able to find the host! Can anyone tell me what could be the reason? and How I can prevent it?
Thanks again, Tanmay
If the cURL HTTP code returned nothing (aka '0'), that means the cURL operation failed for some reason. It would be beneficial to capture the curl_error
in your logs as well as it might give you more insight to was happened in those cases (if they happen again).
PHP: curl_error
When you are logging it, check if it is blank, if it is, log more, using this function
http://www.php.net/manual/en/function.curl-getinfo.php
My guess would be that its not able to reach the server.
You can't retrieve a curl_getinfo
from a request that failed. Check the result from curl_exec
to determine whether an actual HTTP request has been performed.
A connect timeout or anything of the likes is a "failed request". In that case curl_exec
returns FALSE (as stated in the curl_exec Manual).
上一篇: HTML5视频性能