Curl based HTTP Client vs. Snoopy
11 комментариевНачалось всё с того, что мне захотелось получать некоторые данные не прямым запросом, а через прокси. Переписывать много кода пришлось бы в любом случае, но на популярные грабли наступать не хотелось.
Задачу «отправить POST- или GET-методом данные и получить результат через прокси» взялись выполнить два PHP-класса.
Curl HTTP Client — простая, но эффективная ООП-оболочка над библиотекой Curl. Содержит все методы, необходимые для получения данных со страниц, подмены referrer, авторизации, отправки POST-запросов, управления cookies и т.д.
Snoopy the PHP net client — PHP-класс, эмулирующий работу веб-браузера. Он автоматизирует получение содержимого страниц или, например, отправку форм. Запросы формирует функцией fsockopen().
Функции этих классов очень похожи. Оба они умеют получать содержимое страниц, отправлять любые значения полей User-agent и Refferer, передавать данные POST- и GET-методами, передавать Cookies, и ещё куча мелких бонусов у каждого класса.
Но работают они кардинально по-разному: одна использует системную библиотеку, а вторая PHP-функцию, поэтому я решил сделать замеры скорости для этих классов на одинаковой задаче.
Задача получилась такая: подключить класс, установить User-agent и Refferer, получить страницу с чужого сайта, вывести прошедшее время, повторить всё 100 раз.
Увы, результаты презентативными не оказались: классы показали одинаковую работу в одинаковое время с крошечным отрывом Snoopy в пределах погрешности. Так что можно пользоваться любым из них.

Новый браузер от интернет-гиганта Google Chrome получил новую бета-версию 2.0.169.1, которая, впрочем, более чем стабильна. По заявлению разработчиков и тестеров, скорость работы этой программы увеличилась на 25% за счёт перехода на более новые версии компонентов.
Вторая новость — выход Microsoft Internet Explorer 8, который как всегда «быстрее, безопаснее и удобнее», правда в сравнении всего лишь с собственными старыми версиями.