Ошибка загрузки HTML в переменную с удаленного сайта (очистка)

  • Автор темы Grad1
  • Обновлено
  • 12, May 2024
  • #1
Я пытаюсь извлечь некоторый контент с веб-сайта, и он продолжает возвращать ошибки, но если я изменю URL-адрес, на других сайтах все будет работать нормально. Я попробовал практически все методы, перечисленные здесь:
http://blog.oscarliang.net/six-ways-retrieving-webpage-content-php/

Метод curl — единственный, который дает какой-либо результат, и вот что вы получаете:
Объект перемещен в здесь

.
Есть ли какой-нибудь метод, который они могут использовать, чтобы предотвратить доступ к источнику с помощью этого метода?

Могу отправить URL в личку, если есть предложения.

Grad1


Рег
25 Aug, 2013

Тем
71

Постов
195

Баллов
570
  • 21, May 2024
  • #2
Не зная URL-адреса, который вы пытаетесь проанализировать, трудно сказать, но это может быть просто сайт, который вы пытаетесь парсить, настолько плохо написанная куча дымящегося дерьма, что он не может быть обработан должным образом, если вообще может быть обработан обычным процессором.

. Вы указали на методы ЗАГРУЗКИ содержимого страницы в текстовый файл, но как вы на самом деле пытаетесь его ОБРАБОТАТЬ? DOMДокумент? регулярное выражение?
 

Pletcherbxy


Рег
12 Apr, 2011

Тем
70

Постов
193

Баллов
553
  • 22, May 2024
  • #3
Протестировано с помощью cURL redirect-follow, оно не работает (ну, по крайней мере, не сработало, когда я пытался, но я не очень хорошо разбираюсь в cURL, так что, возможно, есть способы заставить его работать) . Насколько я вижу, перенаправление выполняется в коде, а не в .htaccess или подобном (или это был код ASP.

не помню). В любом случае, опция установки cURL с простым перенаправлением не работает.
 

Sagirov


Рег
01 Jan, 2011

Тем
68

Постов
199

Баллов
579
  • 10, Jun 2024
  • #4
Хорошо, он отправил мне URI в личном сообщении, и это та же проблема, с которой кто-то столкнулся на прошлой неделе. preg_replace: Как его удалить проблема в том, что URL-адрес является перенаправлением, и большинство тех методов, на которые он ссылается, не могут справиться с этим.

cURL может, но у вас есть два способа сделать это, и вам нужно «обойти» эту проблему.

Код, представленный в этой теме, ДОЛЖЕН помочь вам найти большую часть, если не весь путь к решению.

Вы должны указать cURL следовать перенаправлениям, и если это не удастся, вам придется перехватывать ответы с кодами ошибок. Обратите внимание, что метод, представленный в этой теме, работает ТОЛЬКО если у вас PHP 5.4 или новее.

Более старые версии не предоставляют ни одной из переменных ответа cURL - вы можете обойти это с помощью регулярного выражения, но, честно говоря, это НЕ правильный ответ.

Правильный ответ — обновить PHP до версии ЭТОГО века. То, что некоторые люди ленивы или скупы на обновление своих кодовых баз, вызывает у меня бесконечное отвращение... особенно потому, что кажется, что 99,999% моего кода за последнее десятилетие работает в PHP 7 без изменений, потому что я ШОК обратил внимание на то, что они нам сказали. перестать делать. Тот факт, что веб-хостеры просто балуют людей, поддерживая в обращении устаревшие версии PHP, только усугубляет ситуацию.
 

Евгений86


Рег
15 Nov, 2013

Тем
88

Постов
192

Баллов
652
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно