Задать вопрос
@merelyJunior

Как повторно отправить curl при неудаче?

Формируется JSON и аяксом отправляется через следующий код.
Что нужно: если $token неправильный (истекла сессия), повторно отправить запрос.
С вероятностью 99% написана чушь, помогите написать или дайте рабочий пример.

<?php
    function send_message(){
        session_start(); 
        $token = $_SESSION['access'];
        $json = file_get_contents('php://input');
        $url = "https://";
        $postdata = json_encode(array('access'=>$token,"data" => json_decode($json)));
        $ch = curl_init($url); 
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
        $result = curl_exec($ch);
        curl_close($ch);
    }
    $res = send_message();
    if( $res == "error") {
    $res = send_message();
    }
   
?>
  • Вопрос задан
  • 218 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Надим К ответам на вопрос (3)
zkrvndm
@zkrvndm
Архитектор решений
Используйте цикл do while, чтобы бесконечно отправлять запросы, в условиях цикла пропишите, чтобы цикл повторялся до тех пор, пока не получен нужный ответ.
Ответ написан
Комментировать