[php] как получить html по url

Irina22

есть какие нибудь стандартные комманды, чтобы было как-то так:
$htmltext = gethtml("http://forum.b.gz.ru/");

artimon

file_get_contents

alexkravchuk

есть стандартные комманды вроде fopen("http://forum.b.gz.ru/", "rb" если настройки php позволяют (по умолчанию позволяют, но на чужом хостинге может быть иначе). Можно черер сокеты работать, но сложнее, зато более гибкий способ. Ещё можно установить библиотеку curl, с ней значительно удобнее, и она много протоколов поддерживает, хотя гибкости немного не хватает ей.

Irina22

всем спасибо.
буду разбираться.

Werdna

file_get_contents

только пидорасы из PHP смогли сделать такое. Это пиздец как неправильно.
В перле есть либа, чтобы дёргать по http что-либо.

Ivan826

Да пофигу что не правильно. В стандартных ситуациях быстро и работает. Больше ничё не надо

Werdna

Ну для спаммеров всё окейно...

iakobi91

А чем тебе этот метод немил? Его вполне достаточно

Werdna

А чем тебе этот метод немил?

Хотя бы тем, что очень часто он становится security hole.
А вообще, если удалённый сервер сделает таймаут — вообще хана. Обычный open не приводит к таймаутам, а этот — запросто. Многие и этого не знают, а потом удивляются почему у Апача 500 чайлдов висит в wait.

pitrik2

а потом удивляются почему у Апача 500 чайлдов висит в wait
объясни плиз подробнее, как такое возникает изза этой функции?

Werdna

создание тестовой ситуации
1) пищем скрипт, который дёргает с помощью этой функции нечто, и отдаёт клиенту.
2) дёргаем этот скрипт массово (апросов 5 в секунду)
3) вытаскиваем провод во втором компе.
в итогде скрипт продолжает дёргать, таймаутится, клиенты ждут, Апач плодит чайлды. Самое быстрое по производительности место становится вечным тормозом.
Кстати, именно по
той причине SSI сделали только с того же Апача, где и лежит наш html с SSI.

uncle17

Кстати, именно по
той причине SSI сделали только с того же Апача, где и лежит наш html с SSI
во... и приходится инклюдить через РНР...
З.Ы. А, тьфу... это не про то... хотя и похоже

pitrik2

а обычный open вернет сразу что сервак не доступен?
тогда он и вправду правильней

artimon

Описаная проблема не зависит от того, на каком языке написан скрипт.

artimon

Где ты в PHP нашёл open?

Werdna

нормальный open открывает файл из файловой системы, а не лезет куда попало!
Lyn: а что, в php разве нет open?

Irina22

посмотрел.
решение с использованием curl, мне больше понравилось,
как-то оно шустрее работает.
хотя если бы сам писал, то одна строчка - это хорошо
Оставить комментарий
Имя или ник:
Комментарий: