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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: проблема с загрузкой страницы curl

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
gin101
Отправлено: 18 Ноября, 2016 - 19:12:01
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Апр. 2015  


Помог: 0 раз(а)




Добрый день! проблема такова, мне необходимо пропарсить некоторый сайт, но когда я пытаюсь забрать страницу через 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? или другие способы получить содержимое страницы?

(Отредактировано автором: 18 Ноября, 2016 - 19:18:22)

 
 Top
OrmaJever Модератор
Отправлено: 18 Ноября, 2016 - 20:30:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




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

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

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


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
gin101
Отправлено: 18 Ноября, 2016 - 20:47:15
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Апр. 2015  


Помог: 0 раз(а)




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

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

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


сейвмод отключить не могу,
если это обычный редирект то почемму он появляется только тогда когда я пытаюсь через curl взять страницу на хостинге, а с компа через file_get_contents он нормально берет?
 
 Top
romaann
Отправлено: 19 Декабря, 2016 - 03:18:47
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Авг. 2012  


Помог: 0 раз(а)




gin101, удалось победить проблему?
Аналогичная и у меня.
Есть сайт. Есть страница http://сайт/about[dot]html
На хостинге wget-ом вместо about.html грузится главная страница.
Скриптом с curl-om - тоже.
В логах сервера вижу 301-й редирект.

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

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

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

Нашел расширение функции curl_exec - curl_redir_exec.
Попробовал - все равно в заголовке приходит редирект на главную((
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB