Intereting Posts
Сессия Cookie без набора флагов HttpOnly Есть ли способ следить за перенаправлениями с командной строкой cURL While loop – только один вход от многих других отправляет значение через POST Перенаправление на страницу и отправка пользовательских заголовков HTTP Невозможно выполнить команды мастеров Laravel Поиск строк и строк возврата PHP Соглашения о присвоении имен отношениям ORM Laravel Eloquent ORM Что делает PHP с устаревшими функциями? Конфликт с jQuery и JPagination, JPagination не работает Выяснение установленной версии ветки Получите все видео качества из блока текста, используя регулярное выражение php синтаксическая ошибка, неожиданный T_VARIABLE, ожидающий ',' или ';' on line 29 Получение содержимого div (включая дочерние теги) с помощью DOM Поместите мой логотип на страницу Paypal, когда мои продавцы продают какой-то продукт с моего сайта Изменить значение baseurl в joomla

curl_exec не возвращает данные

По какой-то причине код ниже, когда я повторяю некоторые URL-адреса, curl_exec никогда ничего не возвращает. Я проверял, что URL-адреса, которые он получает, верны. Я проверил их вручную, чтобы узнать, есть ли выход. Я попытался удалить CURLOPT_RETURNTRANSFER, и curl_exec вернет true. Я не уверен, почему curl_exec не возвращает данные, которые мне нужны.

function _curl_get($urls) { $html_str = ''; foreach ($urls as $url) { $curl_handle=curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $url); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); $html_str .= curl_exec($curl_handle); curl_close($curl_handle); } return $html_str; } 

Проверьте наличие ошибок:

 $data = curl_exec($curl_handle); if ($data === FALSE) { die(curl_error($curl_handle)); } else { $html_str .= $data; } 

Никогда не предполагайте, что операция, зависящая от внешнего ресурса, преуспела. Есть только один способ, которым все может пойти правильно, и буквально сотни / тысячи способов для того, чтобы все пошло не так. Предполагая, что случайный случай 1: 100 или 1: 1000 – плохой путь.

При небольшой заметке об эффективности нет необходимости многократно создавать экземпляр / закрывать объект завитки. Вы можете повторно использовать его для нескольких URL-адресов. Тем более, что все они приносят то же самое. Создайте один ручок для завивки вне цикла, повторно используйте его повторно внутри цикла (каждый раз задайте URL-адрес), затем закройте его после завершения цикла.