- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Сначала объясню для чего и как я использую get_headers().
У меня сайт с музыкальными клипами Ютуба. В конце кода страницы исполнителя или клипа я сделал проверку когда последний раз проверялись обновления и если прошло более 2 дней, то запускаем чекер обновлений командой get_headers($url). Почему командой get_headers(), а не инкладом? Да потому что чекер довольно долго отрабатывает, он скачивает автоплейлист исполнителя, все альбомы с композициями и постеры к ним и в конце уже создаёт новый кешь страницы. Всё хорошо работало больше года, но сегодня при попытке открыть страницу одного исполнителя, сайт "завис" секунд на 20-30! Пока не отработался чекер! Чекер с Ютубом работает через его стандартный API, но лимит на ключь доступа к API зарезали до 10к, а это очень мало, поэтому я юзаю 100 ключей... В чекере я сделал ошибку, если при запросе к Ютубу получаю 403 ошибку, то начинаю перебор ключей доступа, но тут ошибка не ключа доступа, а сам канал заблокирован, то есть 403 ошибка канала, а не ключа! Чекер через курлы перебирает всё 100 ключей доступа, но почему не отдается заголовок при этом? Как такое может быть?
Буду очень благодарен если кто ни будь подскажет как можно из файла php запустить паралельно другой файл php? Чекеру нужно передать только один параметр это id исполнителя, всю полученную инфу чекер не куда не передаёт, просто записывает в БД. Браузерные варианты не подходят, ну типа через скрипт JS или через картинку с редиректом. Чаще всего чекер запускают поисковые боты, а они не запускают JS скрипты и не грузят картинки...
Для того, чтобы проверять 403 не нужно вам хеадер проверять. CURL уже без вас всё сделал.
https://www.php.net/manual/ru/function.curl-getinfo.php
Я проверяю хедер лишь с одной целью - запустить параллельно другой php файл!
А в заголовке ответа на файл cheker.php нет 403 ошибки, да я и не проверяю ответ собственно...
Выполнив
$url = 'https://site.ru/cheker.php?id='.$id;
get_headers($url);
exit;
я запускаю файл cheker.php и не дожидаюсь окончания работы этого скрипта, он всё равно на экран не чего не выдаёт, все обновы пишет в базу, а если выполнить include_once("cheker.php"); то пришлось бы ждать несколько секунд, а то и все 30 сек., когда скрипт отработает и только после этого получить страницу сайта.
паралельно запустить скрипт не дожижаясь его окончания работы можно с помощью socket или curl.
выстави таймаут 1сек
1 секунда это очень много в нынешних реалиях... Обдумываю пока вариант с кроном.
Мне просто интересно, по какой причине запрос заголовка не проходит? Из за того что ли, что вызываемый скрипт запулил серию из 100 запусков курлов?