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 ОК на ошибку? В интернете ответа что-то не нашел... Опытные специалисты, подскажите, пожалуйста!