[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Curl или file_get_contents
olgatcpip
Здравствуйте.

Вот у меня такой впрос.
Мой работадатель нашел скрипт, в котором делается все тоже самое, что и меня, но контент берется не курлом, а file_get_contents.

Изначально код писала не я. Так вот тот программист сделал Получение курлом.

И у меня как-то в голове почемуто, что file_get_contents - не правильно получать контент страницы сайта (я даже этот способ варварским назвала, за что уже стыдно, потому как безосновательно и только на инстинкте), а оснований особо и нет.
1 - Она изначально придумана не для урлов. Для урлов только с версии 5.
собственно и все.

Мне бы хотелось услышать весомые аргументы наших экспертов за курл или file_get_contents что луше?



Для лучшенго понимания моей проблемы скажу. Что у нас контент берется так
сначала пытаемся получить курлом, потом, если курлом не получилось, то сокетами, а file_get_contents никогда. Мне пришлось в некоторых местах этот метод заменить на file_get_contents и заработало! Но при этом я ковыряюсь в курле и пытаюсь его оживить, что тратит мое время и деньги работадателя. Наверно поэтому от тыкнул меня носом в мою некомпетентность..


Помогите защититься, пожалуйста.






Спустя 9 часов, 45 минут, 31 секунда (8.12.2009 - 18:29) Michael написал(а):
Я кстати удивлялся почему ты все с курлом возишся.
Он вроде как для имитации браузера же, сложных манипуляций? (например post запрос имитировать)
А просто страничку по обычному запросу можно взять и file_get_contents.

Спустя 25 минут, 44 секунды (8.12.2009 - 18:55) olgatcpip написал(а):
Если прям честно при честно, то меня наняли на работу. А тама курл! на кой черт он там??? не понятно, когда, ты верно сказал file_get_contents. Мне подумалось, что это у меня мало знаний про курл, и что правильней так как есть (т.е. через курл и сокеты получасть страницы).

Повелась на авторитет так сказать.

Спустя 1 минута, 24 секунды (8.12.2009 - 18:56) olgatcpip написал(а):
Тот код, который есть - некий движок. Его нужно скопировать себе на сайт и все должно заработать практически с любого хоста. Может как-то с этим связано предпостение курлу

Спустя 12 часов, 25 минут, 5 секунд (9.12.2009 - 07:21) kirik написал(а):
Для работы с удаленными сайтами я всегда использую курл - во первых только он изначально для работы с "урлами" (сокеты не в счет), во-вторых функции типа file_get_contents, fopen, file... могут быть забанены хостером для работы с удаленными сайтами, а курл - нет (хотя его может и не быть, это нужно проверять), в-третьих курлу ты можешь задать тот же таймаут, если сайт не доступен то у тебя скрипт отработается как нужно (а не будет ждать пхпшного таймаута). Ну собственно воть)

А у тебя вопрос только в том, чтобы показать начальству что нужно юзать курл а не что-то другое?

Спустя 1 час, 50 минут, 57 секунд (9.12.2009 - 09:12) olgatcpip написал(а):
Цитата
А у тебя вопрос только в том, чтобы показать начальству что нужно юзать курл а не что-то другое?

ну... с последними событиями я и сама начала сомневаться

Спустя 2 дня, 9 часов, 54 минуты (11.12.2009 - 19:06) kirik написал(а):
Цитата (olgatcpip @ 9.12.2009 - 01:12)
с последними событиями я и сама начала сомневаться

smile.gif Прочь сомнения!

Спустя 6 дней, 17 часов, 20 минут, 14 секунд (18.12.2009 - 12:26) Gradus написал(а):
Цитата
file_get_contents, fopen, file... могут быть забанены хостером

Если они запрещенны, то curl тем более...
Цитата
в-третьих курлу ты можешь задать тот же таймаут, если сайт не доступен то у тебя скрипт отработается как нужно (а не будет ждать пхпшного таймаута)

Не вижу плюсов smile.gif можно в сокете указать

Лично я за file_get_contents,потому как не надо лезть в php.ini и заливать библиотеку это проблема для заказчика..Да может им легче пользоваться, но я ничего нового в нём не увидел.

Спустя 25 минут, 24 секунды (18.12.2009 - 12:52) Семён написал(а):
Только CURL.

Спустя 6 часов, 27 минут, 38 секунд (18.12.2009 - 19:19) VolCh написал(а):
cURL может имитировать браузеры: USER_AGENT, куки, другие HTTPзаголовки, прокси, любые методы (GET, POST, HEAD и т. д.), авторизацию и прочее. Даже если кажется, что cURL излишен, но владелец сайта, который вы сейчас грабите, может в любой момент запретить работу всяких подозрительных агентов.

Спустя 1 месяц, 2 дня, 3 часа, 39 минут, 26 секунд (20.01.2010 - 22:59) copchic написал(а):
Цитата
а курл - нет (хотя его может и не быть, это нужно проверять),


а как проверить?

Спустя 5 часов, 39 минут, 50 секунд (21.01.2010 - 04:39) qpayct написал(а):
Цитата (kirik @ 9.12.2009 - 06:21)
Для работы с удаленными сайтами я всегда использую курл - во первых только он изначально для работы с "урлами" (сокеты не в счет), во-вторых функции типа file_get_contents, fopen, file... могут быть забанены хостером для работы с удаленными сайтами, а курл - нет (хотя его может и не быть, это нужно проверять), в-третьих курлу ты можешь задать тот же таймаут, если сайт не доступен то у тебя скрипт отработается как нужно (а не будет ждать пхпшного таймаута).

Из опыта курл работает там где другие бессильны - проверено временем. 'Гет контент' - я на нём начинал парсить, пока в один прекрасный день вдруг функция перестала неожидано для меня работать. Написал ей замену по примерам курл, настроил всё чики-пуки, заработало! и работает уже больше года без сбоев 2 раза в день 2 разных скрипта. Функцию гетконтент развооружил и юзаю с тех пор только курл. Помню смутно, но кажись именно из-за таймаута или величины страницы... Непомню точно.
Однозначно сказать, что та же картина ждёт и вас не могу, но не исключено, что так и будет. Так что только время вас рассудит, а я советую курл.
Цитата (Gradus @ 18.12.2009 - 11:26)
Цитата
file_get_contents, fopen, file... могут быть забанены хостером

Если они запрещенны, то curl тем более...

Совсем не обязательно. Далеко ходить не надо - l4rge.com

Спустя 6 часов, 39 минут, 24 секунды (21.01.2010 - 11:18) Gradus написал(а):
Цитата
Помню смутно, но кажись именно из-за таймаута или величины страницы

file_get_contents это одна из функций всеволиш , можно другие применять и обходить недостатки другой функции , пример файл гета - fopen
Цитата

cURL может имитировать браузеры: USER_AGENT, куки, другие HTTPзаголовки, прокси, любые методы (GET, POST, HEAD и т. д.), авторизацию и прочее. Даже если кажется, что cURL излишен, но владелец сайта, который вы сейчас грабите, может в любой момент запретить работу всяких подозрительных агентов.

ну это подставлять http заголовки все могут! курл тут не выделился.

Пока в чём я нашёл его плюсы что другие не могут, это что он работает с https протоколом и имеет возможность дозалить файл(не проверял,поверил на слово), больше пока ничего.


_____________
Ласковое слово и кошке приятно... Плюсик в карму сойдет wink.gif
*smarty дока - новая любовь
Моё рукотворение ругайте, хвалите smile.gif
Веду маленький блог
в этом блоге публикую новые работы
WMR217126627282 wink.gif

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.