Применение cURL


Я долго размышлял, о чём писать следующую статью по модуля для PHP - cURL. То ли уже приступить к написанию PHP-скриптов с использованием cURL, то ли ещё раз остановиться на возможностях, и, главное, на областях применения cURL. Решил всё-таки сначала рассказать о применении, чтобы Вы понимали: нужен Вам этот модуль или нет. Давайте по-очереди разберём самые яркие области, в которых очень удобно использовать модуль cURL. Тестирование и отладка PHP-скриптов Не так часто используют cURL для тестирования PHP-кода, но, на мой взгляд, это не есть хороший тон. Как можно проводить тестирование и отладку PHP-кода? Очень просто: Вы создаёте PHP-файл, в котором с помощью cURL отсылаете POST- и GET-запросы. Соответственно, получаете результат и сравниваете его с тем, что должно было бы получиться. Если всё сходится, значит, тест пройден. И таких тестов можно сделать очень много. Простой пример: проверка авторизации пользователя. Тест №1: отправка правильного логина и пароля, ответ должен быть примерно таким: "Успешная авторизация". Сравниваете с этим вариантов, если действительно так, значит, Ваш скрипт этот тест прошёл. Тест №2 (в том же файле) - передача правильного логина и неправильно пароля. Тест №3 - передача неправильного логина и неправильного пароля. И так далее. И везде надо проверять, чтобы ответ скрипта был верный. Также обязательно проверяйте на различные частные случаи (например, при передачи пустого логина и/или пароля). Если не использовать cURL, то Вы должны будете постоянно проверять всевозможные случаи вручную, что, безусловно, неудобно. А если Вы будете использовать cURL для тестирования, то сможете этот процесс автоматизировать. Более того Вы можете узнать, сколько времени выполняется Ваш скрипт, что тоже очень полезно. И при не очень хороших показателях - проводить рефакторинг (улучшение читаемости кода и увеличение его производительности) PHP-скрипта. Различные парсеры А вот в этой области cURL использует очень часто, особенно различные сервисы. Например, Вы можете создать скрипт, который будет проверять место Вашего сайта в выдаче Яндекса по определённому запросу. То есть без скрипта, Вы будете вынуждены вручную просматривать кучу страниц выдачи, а с помощью скрипта Вы получите ответ через несколько секунд. Также очень часто пишут различные скрипты для сбора информации с других сайтов, например, чтобы вытащить все ссылки на скачивание, к примеру, музыки. Спам Разумеется, данная область применения не очень хорошая, и я Вам настоятельно рекомендую не заниматься такими вещами, но в целях общего развития, всё-таки поясню. Фактически, Вы с помощью cURL можете спокойно рассылать на всякие форумы, блоги, гостевые книги различные сообщения и комментарии в автоматическом режиме. То есть просто отсылаете POST-запросы с необходимыми данными с помощью cURL, и Ваше сообщение появится на сайте, хотя Вы лично на него даже не заходили. Хакинг И последняя область применения, которая является достаточно популярной - это хакинг. Как и спам, не рекомендую Вам заниматься подобными делами. Однако, чтобы Вы понимали, о чём идёт речь, всё-таки поясню. Самый очевидный пример использования cURL для таких дел - это подбор пароля (или, другими словами, брутфорс). То есть просто отсылка POST-запроса с логином и паролем. Пароль постоянно меняется в надежде на то, что когда-нибудь сервер вернёт сообщение об успешной авторизации. Безусловно, это не все области применения cURL, однако, именно они являются самыми основными. И, как видите, эта область достаточно велика, поэтому cURL достоен того, чтобы его изучали и использовали. И этим мы займёмся в следующей статье.