Класс/функция на php для скачивания страницы по http

12
arkadiy_a
На сайте с 11.06.2008
Offline
82
2125

Господа программеры, может есть у вас универсальный кусок кода?

Надо вытянуть одну страницу, просто ее тупо скачать в переменную. Но надо универсально, чтобы работало на любом хостинге (насколько такое возможно).

Глюки safe_mode, отключение функций - чтобы скрипт пытался обойти такое и пробить все варианты: curl, fsockopen, file_get_contents/file, может еще чего есть.

Все что нагуглил имеет проблемы с работоспособностью "всегда и везде". Например функция curl на каком-то конкретном хостинге хоть и есть но где-то траблы, надо разбираться че там не так.

Может, есть что готовое?

[umka]
На сайте с 25.05.2008
Offline
456
#1

Думаю, достаточно сделать с помощью CURL.

Во-первых, средство удобное.

Во-вторых, есть практически везде.

В-третьих, там, где его нет, наверняка отключены и сокеты и враперы.

Лог в помощь!
S
На сайте с 19.11.2007
Offline
64
#2
arkadiy_a:

Надо вытянуть одну страницу, просто ее тупо скачать в переменную. Но надо универсально, чтобы работало на любом хостинге (насколько такое возможно).

file_get_contents


$html = file_get_contents("http://php.net/manual/ru/function.file-get-contents.php");
echo $html;
LEOnidUKG
На сайте с 25.11.2006
Offline
1742
#3

CURL выбирайте и всё.

Единственная проблема на хостингах может быть из-за CURLOPT_FOLLOWLOCATION, но и её можно решить программным кодом, точнее симулировать. Всё остальное без проблем идёт.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
S
На сайте с 19.11.2007
Offline
64
#4
LEOnidUKG:
CURL выбирайте и всё.
Единственная проблема на хостингах может быть из-за CURLOPT_FOLLOWLOCATION, но и её можно решить программным кодом, точнее симулировать. Всё остальное без проблем идёт.

т.с. говорит об универсальном способе, CURL не на всех хостингах работает, к тому же сия весч, Вы правы лучше, но для т.с. она возможно избыточно лучше, если ему не надо массово парсить толпу страниц которые захотят оборонятся от парсинга, или авторизироватся на выкачиваемом сайте, то стандартной функции выше крыши

LEOnidUKG
На сайте с 25.11.2006
Offline
1742
#5
spamers:
т.с. говорит об универсальном способе, CURL не на всех хостингах работает, к тому же сия весч, Вы правы лучше, но для т.с. она возможно избыточно лучше, если ему не надо массово парсить толпу страниц которые захотят оборонятся от парсинга, или авторизироватся на выкачиваемом сайте, то стандартной функции выше крыши

Понимаете, иногда не нужно доходить до идиотизма :)

Вот когда говорят, что нет CURL, ну знаете.... наверное нужно иногда ПЛАТИТЬ за услуги. Если хотите ездить на мерине новом, уж будьте добры покупайте не 85 бензин :)

arkadiy_a
На сайте с 11.06.2008
Offline
82
#6
LEOnidUKG:
Понимаете, иногда не нужно доходить до идиотизма :)
Вот когда говорят, что нет CURL, ну знаете.... наверное нужно иногда ПЛАТИТЬ за услуги. Если хотите ездить на мерине новом, уж будьте добры покупайте не 85 бензин :)

Леонид, кстати речь и о халяве тоже. Можно на ты?

Ты не понял задачу и это норм т.к. я про нее не рассказал. Речь про создание трамплинов на фрихостах, идейка тут, уже сделано моими кривыми ручками в качестве плагина виджета для wp, и уже вроде работает.

Xотелось бы больше универсальности а потестить самому где что работает (на разных хостингах) это долго или сложно, ищу готовый класс/функцию.

LEOnidUKG
На сайте с 25.11.2006
Offline
1742
#7
arkadiy_a:
Леонид, кстати речь и о халяве тоже. Можно на ты?

Ты не понял задачу и это норм т.к. я про нее не рассказал. Речь про создание трамплинов на фрихостах, идейка тут, уже сделано моими кривыми ручками в качестве плагина виджета для wp, и уже вроде работает.
Xотелось бы больше универсальности а потестить самому где что работает (на разных хостингах) это долго или сложно, ищу готовый класс/функцию.

Да конечно можно. Ну тогда проверяй сначала CURL, если нету, то file_get_contents, если и его нет, то не думаю на хостинге вообще разрешено как-то обращаться на удалёнку.

edogs software
На сайте с 15.12.2005
Offline
775
#8
arkadiy_a:
Речь про создание трамплинов на фрихостах, идейка тут, уже сделано моими кривыми ручками в качестве плагина виджета для wp, и уже вроде работает.
Xотелось бы больше универсальности а потестить самому где что работает (на разных хостингах) это долго или сложно, ищу готовый класс/функцию.

Мы такую идею пробовали как-то реализовывать с пару лет назад, пришли постепенно к тому, что отслеживать возможные глюки на 100-500 фрихостах несколько накладно, поэтому раз уж сайты на фрихостах свои, то просто перевернули ситуацию - главный хост содержит в себе базу фрихостов с логинами/паролями и тупо по фтп заливает туда файлы со ссылками. Централизованный апдейт, с логами проблем в одном месте и отсутствием необходимости подстраиваться под пхп окружение каждого г-нохостинга доставляет. Фтп на фрихостах работает значительно стабильнее чем всё остальное, единственное надо учесть в центральном скрипте возможность работы в пассивном режиме и без оного.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
LEOnidUKG
На сайте с 25.11.2006
Offline
1742
#9

edogs, аж тыж! Точно ФТП, прямо в яблочко :)

arkadiy_a
На сайте с 11.06.2008
Offline
82
#10
edogs:
Мы такую идею пробовали как-то реализовывать с пару лет назад, пришли постепенно к тому, что отслеживать возможные глюки на 100-500 фрихостах несколько накладно, поэтому раз уж сайты на фрихостах свои, то просто перевернули ситуацию - главный хост содержит в себе базу фрихостов с логинами/паролями и тупо по фтп заливает туда файлы со ссылками. Централизованный апдейт, с логами проблем в одном месте и отсутствием необходимости подстраиваться под пхп окружение каждого г-нохостинга доставляет. Фтп на фрихостах работает значительно стабильнее чем всё остальное, единственное надо учесть в центральном скрипте возможность работы в пассивном режиме и без оного.

Вот это я понимаю промышленные масштабы))

Прокси наверное надо чтоб на фрихостах за мультирегистрацию акков не забанили?

И если не секрет - всегда пассивный режим использовать для ftp — почему не будет работать? Бывают серверы которые только в активном режиме работают? Просто не сталкивался потому спрашиваю.

Как понимаю генерились статичные html, какой генератор использовали?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий