У меня есть сценарий, который захватывает контент с сторонних сайтов, и если URL-адрес не найден, перенаправление сайта с местоположением заголовка 302 на пользовательскую не найденную веб-страницу вместо отправки 404 не найдена , Сценарий также кэширует содержимое, возвращаемое curl_exec, но я не хочу кэшировать страницы ошибок, так есть ли способ зарегистрировать эти перенаправления, если я включил CURLOPT_FOLLOWLOCATION? Как я могу решить эту ситуацию? Я знаю, что могу просто найти сообщение об ошибке с помощью парсера dom, и если его просто отбросить, но я хочу знать, есть ли другие способы для этого.Логарифм зависания перенаправления с использованием CURLOPT_FOLLOWLOCATION установлен в true
ответ
Я в конечном итоге отключение followlocation, так что я просто должен поймать 302 кода и, если он присутствует, я не кэшировать страницу. Думал, что есть способ поймать все коды перед зависанием.
Посмотрите Easy way to test a URL for 404 in PHP?
Затем с помощью этого, просто не кэшировать страницу, если есть 404
Смотрите здесь:
http://www.php.net/manual/en/function.curl-getinfo.php
Это обеспечивает такие данные. Эта функция встроена в этот класс:
http://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading
getinfo показывает только данные перенаправленного местоположения, поэтому я не хочу этого делать. Спасибо, в любом случае. –
Я вижу. Думаю, вам нужно отключить FOLLOWLOCATION. Downlaod каждого URL-адреса, используйте get_info(), чтобы проверить, находится ли заголовок в диапазоне 3xx, если это так, зарегистрируйте URL-адрес, иначе если заголовок находится в диапазоне 2xx, у вас есть страница назначения, иначе произошла ошибка. –
- 1. Получение списка URL-адресов перенаправления CURLOPT_FOLLOWLOCATION
- 2. CURLOPT_FOLLOWLOCATION
- 3. curl_setopt() Проблема CURLOPT_FOLLOWLOCATION с TCPDF
- 4. SoundCloud CURLOPT_FOLLOWLOCATION conflict
- 5. CURLOPT_FOLLOWLOCATION эмуляция
- 6. JVectormap установлен в состоянии зависания по ссылке
- 7. Ошибка CURLOPT_FOLLOWLOCATION
- 8. вычислить логарифм матрицы с использованием SAS IML
- 9. curl_setopt_array(): CURLOPT_FOLLOWLOCATION
- 10. Почему CURLOPT_FOLLOWLOCATION несовместимо с open_basedir?
- 11. PHP cURL не выполняет перенаправления, даже если флаг установлен
- 12. PHP локон с ошибкой CURLOPT_FOLLOWLOCATION
- 13. с использованием .index() внутри зависания()
- 14. TCL-Получение Логарифм Exec'd процесса
- 15. Напиранский логарифм с BASH
- 16. php curl и поведение CURLOPT_FOLLOWLOCATION
- 17. jQuery - анимация мерцания с использованием зависания()
- 18. textbox.visible не установлен в true в asp.net
- 19. Проблема с переопределением OnPaint, когда DoubleBuffered установлен в true
- 20. Неточный Логарифм в Python
- 21. Логарифм BigDecimal
- 22. питона логарифм
- 23. Ошибка Curl при использовании CURLOPT_FOLLOWLOCATION
- 24. Вычислить дискретный логарифм
- 25. Базовый логарифм в F #
- 26. логарифм массива в Python
- 27. Django: request.user не установлен после перенаправления
- 28. CURLOPT_FOLLOWLOCATION не может быть активирован, если safe_mode включен или open_basedir установлен в
- 29. Rails strip_insignificant_zeros по умолчанию установлен в true
- 30. gauge.js max limit не установлен в true?
Возможно, вы не поняли, моя ошибка, но сайт третьей стороны не выбрасывает 404 вместо 302 на страницу с ошибкой. –