проверка получения яблока с помощью PHP иногда не работает
Я использую приведенный ниже код для проверки получения яблока с помощью PHP, используя CURL, я вызываю сервер Apple и пытаюсь получить ответ. Этот код работает нормально, но иногда ответ Apple JSON оказывается пустым, и я также не получаю сообщения об ошибке. Он просто гаснет.
Это единственный способ проверить получение яблока с помощью PHP? или, пожалуйста, исправьте меня в моем коде, в чем заключается ошибка, которую я сделал, потому что, когда я пытаюсь отладить это, я получаю пустой ответ, но эта проблема не всегда, если я отправляю 10 запросов, 7 дают ответ, а 3 возвращают пустой / пустой.
Спасибо.
function subscription_curl ($request)
{
ini_set('max_execution_time', 0);
$decodeResponse = "";
$appleurl = "https://buy.itunes.apple.com/verifyReceipt"; // for production
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $appleurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$encodedResponse = curl_exec($ch);//Encoded apple response
curl_close($ch);
$decodeResponse = json_decode($encodedResponse, TRUE);//Decoded apple response
$applestatus1 = $decodeResponse['status'];
if($applestatus1 == 21007)
{
$appleurl = "https://sandbox.itunes.apple.com/verifyReceipt"; // for sandbox
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $appleurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$encodedResponse = curl_exec($ch);//Encoded apple response
curl_close($ch);
$decodeResponse = json_decode($encodedResponse, TRUE);//Decoded apple response
}
return array($encodedResponse, $decodeResponse);
}
$decodeResponse1 = subscription_curl($request); // Call curl function to send request to apple
$encodedResponse = $decodeResponse1[0];
$decodeResponse = $decodeResponse1[1];
print_r($decodeResponse)
0 ответов
Добавить проверку ошибок может быть что-то там, сразу после curl_exec
if (curl_errno($ch)) {
$error_message = curl_error($ch);
echo $error_message;
}