Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: проблема с загрузкой страницы curl
Форумы портала PHP.SU » » HTTP и PHP » проблема с загрузкой страницы curl

Страниц (1): [1]
 

1. gin101 - 18 Ноября, 2016 - 19:12:01 - перейти к сообщению
Добрый день! проблема такова, мне необходимо пропарсить некоторый сайт, но когда я пытаюсь забрать страницу через curl сайт кидает редирект 302, я не могу понять толи это защита такая толи я неправильно все делаю
'https://play.shikimori.org/animes/32998-91-days/video_online/1' - страница которую я пытаюсь парсить
вот такие заголовки мне отправляет этот сайт (полученно функцией get_headers)
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. [0] => HTTP/1.1 302 Found
  3. [1] => Server: nginx
  4. [2] => Date: Fri, 18 Nov 2016 16:56:01 GMT
  5. [3] => Content-Type: text/html; charset=utf-8
  6. [4] => Connection: close
  7. [5] => X-Frame-Options: SAMEORIGIN
  8. [6] => X-XSS-Protection: 1; mode=block
  9. [7] => X-Content-Type-Options: nosniff
  10. [8] => Location: //play.shikimori.org/animes/32998-91-days
  11. [9] => Cache-Control: no-cache
  12. [10] => X-Request-Id: cf64d88c-4485-4e17-8a93-147fe0ccb969
  13. [11] => X-Runtime: 0.013295
  14. [12] => Vary: Origin
  15. [13] => Strict-Transport-Security: max-age=31536000
  16. [14] => HTTP/1.1 404 Not Found
  17. [15] => Server: nginx
  18. [16] => Date: Fri, 18 Nov 2016 16:56:02 GMT
  19. [17] => Content-Type: text/html; charset=utf-8
  20. [18] => Content-Length: 0
  21. [19] => Connection: close
  22. [20] => X-Request-Id: 1b9faba2-72fa-40b6-a766-42028c6fbabd
  23. [21] => X-Runtime: 0.004671
  24. [22] => Vary: Origin
  25. [23] => Strict-Transport-Security: max-age=31536000 )


а вот такие кидает когда я делаю тоже самое но только со своего компа через xampp
CODE (htmlphp):
скопировать код в буфер обмена
  1. [0] => HTTP/1.1 200 OK
  2. [1] => Server: nginx
  3. [2] => Date: Fri, 18 Nov 2016 17:03:30 GMT
  4. [3] => Content-Type: text/html; charset=utf-8
  5. [4] => Connection: close
  6. [5] => X-Frame-Options: SAMEORIGIN
  7. [6] => X-XSS-Protection: 1; mode=block
  8. [7] => X-Content-Type-Options: nosniff
  9. [8] => ETag: W/"2f0e6af9054a5b8efaf7372bc2ffad81"
  10. [9] => Cache-Control: max-age=0, private, must-revalidate
  11. [10] => Set-Cookie: anime_video_kind=fandub; path=/
  12. [11] => Set-Cookie: anime_video_hosting=vk.com; path=/
  13. [12] => Set-Cookie: anime_video_author=4Anime; path=/
  14. [13] => Set-Cookie: _kawai_session=NTVJTmRUQVNsTXVHT0xHb1J1NVBxM3c0MnU0dktOZVNNaU9hR1ZVb0pKMEM4U0xkZkdDUHdWeDBVTVIrVDBNQ2xSSm5GdXZFSWQ3L0FLWk9iUXovQ0tyQTlkMXN1WDA1eHZ1STZkSnBTeWtHMzEvUStrVmNRSFRqN1ZocU1LUm1KaS9JaXhEMHhPZisrcm9RV0JQTmoyNlVZMmZIc3A2MGZrSXJNMjl5ZDQ2UFl4Z1RtQXBKM0RGbm8xU2FUbnU4LS1rcEdlbno0SVQ2T0Qzc05LN1J0ZVVBPT0%3D--f015e9acd97919151c01818b572af156665b406a; domain=.shikimori.org; path=/; expires=Sat, 18 Nov 2017 17:03:30 -0000; HttpOnly
  15. [14] => X-Request-Id: eee3f68b-fed7-48e7-8c7c-f9099503e907
  16. [15] => X-Runtime: 1.133988
  17. [16] => Vary: Origin
  18. [17] => Strict-Transport-Security: max-age=31536000 )


при чем когда я через xampp загружаю страницу она загружается функцией file_get_contents

опцию CURLOPT_FOLLOWLOCATION я включить не могу на хостинге по причине того что у меня нет доступа к файлу конфигурации php

возможно это какая-то проверка от спама на сайт или умышленная защита? как можно обойти это? возможно есть другие библиотеки которые могут подделывать работу браузера для php? или другие способы получить содержимое страницы?
2. OrmaJever - 18 Ноября, 2016 - 20:30:45 - перейти к сообщению
gin101 пишет:
опцию CURLOPT_FOLLOWLOCATION я включить не могу на хостинге по причине того что у меня нет доступа к файлу конфигурации php

Что? С каких это пор нужен файл конфигурации для директив курла? Растерялся
gin101 пишет:
возможно это какая-то проверка от спама на сайт или умышленная защита

А возможно это просто редирект, коих миллионы в интернете, просто вы их не замечаете.
3. gin101 - 18 Ноября, 2016 - 20:47:15 - перейти к сообщению
OrmaJever пишет:
gin101 пишет:
опцию CURLOPT_FOLLOWLOCATION я включить не могу на хостинге по причине того что у меня нет доступа к файлу конфигурации php

Что? С каких это пор нужен файл конфигурации для директив курла? Растерялся
gin101 пишет:
возможно это какая-то проверка от спама на сайт или умышленная защита

А возможно это просто редирект, коих миллионы в интернете, просто вы их не замечаете.


сейвмод отключить не могу,
если это обычный редирект то почемму он появляется только тогда когда я пытаюсь через curl взять страницу на хостинге, а с компа через file_get_contents он нормально берет?
4. romaann - 19 Декабря, 2016 - 03:18:47 - перейти к сообщению
gin101, удалось победить проблему?
Аналогичная и у меня.
Есть сайт. Есть страница http://сайт/about[dot]html
На хостинге wget-ом вместо about.html грузится главная страница.
Скриптом с curl-om - тоже.
В логах сервера вижу 301-й редирект.

Захожу с браузера - все нормально, отображается нужная страница. В логах - 200.

Залил скрипт на свой тестовый сервак, проверил - грузится about.html, в логах - 200.

Поставил сниффер на комп, поймал пакет с GET-запросом, в заголовки curl-а впихнул те же поля. Результат на хостинге тот же - 301-й редирект.
не понимаю, где и в чем разница...

Нашел расширение функции curl_exec - curl_redir_exec.
Попробовал - все равно в заголовке приходит редирект на главную((

 

Powered by ExBB FM 1.0 RC1