Разработка сайтов и CMS, веб-сервисов и веб-приложений

Меню

Проекты

Последние статьи

Реклама

Партнерство

Приглашаю к сотрудничеству:

подробнее →

Помогите определить!



cURL Это просто!

Открою свой блог небольшой статьей о cURL.
Так как писатель я не очень хороший, буду писать кратко, и по сути.
Для работы с cURL, мной был разработан класс GCurl облегчающий работу с ним в разы. Ну, мне с ним работать значительно легче, чем на прямую с библиотекой.
Описывать саму библиотеку cURL я не стану, в интернете и так достаточно по ней информации.
К примеру можно глянуть здесь - http://www.php.ru/manual/ref.curl.html
Тогда, приступим к рассмотрению примера авторизации на сайте mail.ru.
Сам класс, смотрите во вложении.
Ниже, описан пример кода.

<?php
// --------------- Подключаем библиотеку ---------------
include_once './libs/gcurl.php';
//Указываем место, где будем сохранять кукиес. Не забываем о правах на запись, если Вы работаете под Linux
$cookie_file = dirname(__FILE__).'/cookie.txt';

//------------------------------------ ДАННЫЕ АВТОРИЗАЦИИ ------------------------------------
$_post_ar = array(
				'Login' => 'ВашЛогин',
				'Password' => 'ВашПароль',
				'Domain' => 'mail.ru',
				);
$Browser = new GCurl("http://win.mail.ru/cgi-bin/auth");
//Устанавливаем путь к файлу COOKIE 
$Browser -> setCookiFile($cookie_file);
//Устанавливаем URL с которого мы перешли на сайт mail.ru. По умолчанию, мы пришли на сайт с поисковой системы google
$Browser -> setReferer(null);
//Запускаем работу скрипта. Если нужно, вторым параметром указываем пост данные (нам они как раз нужны)
$Browser -> callCurl(false,$_post_ar);
//Данный метод возвращает информацию, касающуюся специфической передачи/transfer
$info_ar = $Browser -> getHttpInfo();
//Данный метод возвращает страничку на которую мы перешли
$html = $Browser -> getWebPage();
//Данный метод возвращает ошибку возникшую во время работы cURL
$error_ar = $Browser -> getError();

//Чтобы увидеть что получилось, выводим полученную информацию на экран.
header('Content-Type: '.$info_ar['content_type']);
echo"<pre>";print_r($info_ar);echo"</pre>";
echo"<pre>";print_r($error_ar);echo"</pre>";
echo $html;
?>

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

Если есть вопросы – задавайте. Пока что через форму обратной связи, т.к. функционал комментирования к статьям блога еще не реализовано.

Скачать библиотеку GCurl можно с этой странички.

Добавить статью в закладки: BobrDobr Memori Mister Wong del.icio.us Yandex Google MoeMesto
Рубрика: PHP  
Copyright © 2008-2010 GuardeonCMS