PHP: Как в curl слать 200 при возникновении ошибок?

Сделал бота, который парсит ряд источников и по запросу отдает инфу в группу Telegram. При вот таком запросе одного из источников:

  $proxyIp = '72.37.217.3:4145';
            
        //            $proxyIp = '174.77.111.196:4145';
                
                    if(!empty($args[1])) {
        
                    $urlY = $args[0] . urlencode($args[1]);
                    } else {
                    $urlY = $args[0];
                    }
        
                    $headers = [
                    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 YaBrowser/21.3.3.230 Yowser/2.5 Safari/537.36'
                    ];
        
                    $curl = curl_init();
        
                curl_setopt($curl, CURLOPT_PROXY, $proxyIp);
                curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
                curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
                curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
                curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($curl, CURLOPT_VERBOSE, 1); 
                curl_setopt($curl, CURLOPT_POST, false);
                curl_setopt($curl, CURLOPT_URL, $urlY);
        
                $result = curl_exec($curl);
        
                if(curl_exec($curl) === false)
                {
                echo 'Ошибка curl: ' . curl_error($curl);
                } else {
                echo 'Операция завершена без каких-либо ошибок';
                }
        
                return $result;

полученная информация начинает дублироваться много раз в ответе бота. Как я понял из изучения вопроса, при ошибке запроса api Telegram начинает постоянно слать запросы повторно.

Я хотел отключить повторные запросы с помощью добавления вместе с url отправки сообщения (/sendMessage параметра &drop_pending_updates=true), но сообщения продолжают дублироваться. Также в интеренете советуют на любые ошибки в curl запросе отвечать 200 api Telegram. Но как? Нужно sendMessage слать курлом? и там что-то прописывать? Сейчас у меня это отправляется file_get_contents... Или что-то нужно прописывать в том curl, где парсинг осуществляется?

А самое главное: как отдавать api Telegram код 200 ОК на ошибку? В интернете ответа что-то не нашел... Опытные специалисты, подскажите, пожалуйста!


Ответы (0 шт):