Вот у меня такой впрос.
Мой работадатель нашел скрипт, в котором делается все тоже самое, что и меня, но контент берется не курлом, а 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.
Он вроде как для имитации браузера же, сложных манипуляций? (например 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) |
с последними событиями я и сама начала сомневаться |
Прочь сомнения!
Спустя 6 дней, 17 часов, 20 минут, 14 секунд (18.12.2009 - 12:26) Gradus написал(а):
Цитата |
file_get_contents, fopen, file... могут быть забанены хостером |
Если они запрещенны, то curl тем более...
Цитата |
в-третьих курлу ты можешь задать тот же таймаут, если сайт не доступен то у тебя скрипт отработается как нужно (а не будет ждать пхпшного таймаута) |
Не вижу плюсов можно в сокете указать
Лично я за 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) | ||
Если они запрещенны, то 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