|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Народ, приветствую! Есть такая беда: Функция "file_get_contents" читает не все сайты. Есть хаотичный список сайтов. Запускаю чтение в цикле. Большинство читается нормально. Но попадаются и не читаемые. Вручную на броузере ( Хром, Лиса и т п) читаются нормально. Парюсь уже несколько дней. Прошу помощи! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2020, 17:59 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Serge Clause Но попадаются и не читаемые. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2020, 19:51 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Это читается <?php $html = file_get_contents('https://mail.ru/'); echo $html; ?> Это вручную через броузер читается ( ссылку копируем в адресную строку ) а через php - нет <?php $html = file_get_contents('http://lawweb.usc.edu/library/'); echo $html; ?> ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2020, 20:56 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
miksoft, выше ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2020, 20:57 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Serge Clause а через php - нет Не та кодировка? Не тот контент? Ошибка какая-то? Что именно не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2020, 21:48 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
miksoft, явление довольно интересное. Запустите на выполнение эти программки и увидите. Там подвоха нет. Могу сбросить несколько ссылок из списка. Результат увидите. Сообщение об ошибке не появляется, возвращается false. Это все согласно документации на file_get_contents. Оно так и есть. <?php echo '<br>Start '.time().'<br>'; $url = 'http://lawweb.usc.edu/library/'; echo $url; $html = file_get_contents($url); echo $html; echo '<br>Finish '.time().'<br>'; ?> Но "нечитаемость" отловить можно: <?php echo '<br>Start '.time().'<br>'; $url = 'http://lawweb.usc.edu/library/'; echo $url; $html = file_get_contents($url); if ($html === false) { echo '<br>False<br>'; } else { echo $html; } echo '<br>Finish '.time().'<br>'; ?> Только мне нужно читать файлы ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 08:16 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
miksoft Serge Clause а через php - нет Не та кодировка? Не тот контент? Ошибка какая-то? Что именно не так? Контент не читается. Не выполняется get - возвращается false Не могу найти причину. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 08:22 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Serge Clause Не могу найти причину. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 08:42 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
vkle Точнее, угадать не можете. Дело в том, что file_get_contents() возвращает false при любой ошибке. Хотите увидеть причину - используйте curl. Там, хотя бы, коды и описания ошибок есть. Описания ошибок нет - поэтому приходиться пытаться угадать причину такого поведения функции. CURL штука хорошая, но, во-первых, он тоже "спотыкается" на этих же сайтах, а, во-вторых, в дальнейшем используется пакет "PHP Simple HTML DOM Parser", неизвестно, как CURL будет с ним сотрудничать. Поэтому приходится надеяться, что кто-то сталкивался с этой проблемой и победил её. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 11:36 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Serge Clause он тоже "спотыкается" на этих же сайтах ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 11:54 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
vkle Serge Clause он тоже "спотыкается" на этих же сайтах Не сообщает ошибку. Но я не знаток CURL, может что-то делаю не так. Вот прожка, с помощью которой проверяю <?php include ("htmlparser.inc"); echo '<br>======== START ==============='.time().'<br>'; $ch = curl_init(); //инициализация //параметры соединения curl_setopt($ch, CURLOPT_URL, " https://www.scottlib.org/"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); //получаем HTML сайта echo $output; curl_close($ch); //освобождаем память echo '<br>========== FINISH ============='.time().'<br>'; ?> ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 12:46 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Тынц 1 Пример #1. Тынц 2 Пример #1 + там же ссылка на страничку сайта курла с расшифровкой/описанием кодов ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 13:04 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Serge Clause Это читается <?php $html = file_get_contents('https://mail.ru/'); echo $html; ?> Это вручную через броузер читается ( ссылку копируем в адресную строку ) а через php - нет <?php $html = file_get_contents('http://lawweb.usc.edu/library/'); echo $html; ?> 99% что там не хочет отвечать роботам, т.е. надо полностью заголовки браузерные давать(КУРЛ) как второй вариант, ИП банный P.S. А вообще, правильно рекомендуют, изучай ошибки от КУРЛа ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 16:06 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
vkle, огромное спасибо! При встрече в Самаре с меня пиво и копченые сомики. Ошибку удалось выцепить Unknown SSL protocol error in connection to www.scottlib.org:443 Но, к сожалению, её полное описание отсутствует, только вот в наличии краткое резюме. Иметь дело с SSL мне не приходилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 18:35 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
artas надо полностью заголовки браузерные давать(КУРЛ) Что значит "полностью"? Вот это "полный" заголовок curl_setopt($ch, CURLOPT_URL, " https://www.scottlib.org/"); ? Но он тоже дает ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 18:40 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Serge Clause Unknown SSL protocol error in connection to www.scottlib.org:443 Т.е. проблема вполне может оказаться далеко за рамками PHP. Для начала я бы посмотрел на библиотеки, их версии. Может и устаревшие. Еще попробовал бы с той же проблемной машины из консоли wget с ключиком -d (там вместе с заголовками вываливается информация о сертификатах и ходе подключения) и curl -v. Возможно, но не факт, конечно, удастся выцепить более подробную информацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 19:24 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
vkle, разнообразные ошибки появляются на множестве сайтов. Вот эта ошибка часто выскакивает: Ошибка curl: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 20:43 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Наверное, действительно старое ПО OpenSSL Library Version OpenSSL 0.9.8o 01 Jun 2010 OpenSSL Header Version OpenSSL 0.9.8o 01 Jun 2010 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 20:54 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Serge Clause Вот эта ошибка часто выскакивает: Ошибка curl: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 10:45 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Serge Clause 01 Jun 2010 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 13:49 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Serge Clause, Php версия? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 19:05 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
дело не в версии пхп похоже, на "проблемных" сайтах подняли минимальную версию tls до 1.2, поддержка которой появилась в openssl 1.0.1 в 12м году ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2020, 06:10 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Изопропил Serge Clause, Php версия? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2020, 07:45 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Дегтярев Евгений похоже, на "проблемных" сайтах подняли минимальную версию tls до 1.2 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2020, 10:33 |
|
file_get_contents читает не все сайты
|
|||
---|---|---|---|
#18+
Serge Clause 7.4.5 Когда хотел скомпилировать версию 5.6.40 с современной OpenSSL 1.1.1, так и обломался, там структуры разные, а патч найти ну не удалось, если он вообще существует. Пришлось удовольствоваться предыдущей 1.0.1. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2020, 10:39 |
|
|
start [/forum/topic.php?fid=23&msg=39954044&tid=1459690]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 159ms |
0 / 0 |