在使用curl从支付网关中获取某些数据时,该网关有时返回500个状态代码,而在其他时间返回200个状态代码。我正在尝试使用curl从标头中获取状态代码,但它显示的是零(即退出代码)而不是200或500(状态代码)。
我正在使用 curl_getinfo($ ch,CURLINFO_HTTP_CODE); 不能正常工作...
卷曲功能
public function global_Curl_payStat($data, $url, $try = 1)
{
//dd($_ENV['API_ENDPOINT_NGINX_IP'] . '/' . $url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, ($_ENV['API_ENDPOINT_NGINX_IP'] . '/' . $url));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//Prevents usage of a cached version of the URL
curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
//Listen for status code to see if 200 or 500
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$response = json_decode(curl_exec($ch));
dd($statusCode);
curl_close($ch);
return $response;
}
答案 0 :(得分:0)
在实际使用curl_getinfo()
进行调用之前,您即将打到curl_exec()
。在执行之前没有任何信息:)
$response = json_decode(curl_exec($ch));
//Listen for status code to see if 200 or 500
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);