Самостоятельное создание сайта
Самостоятельная раскрутка и продвижение сайта

Авторизация на sape.ru

   В этой статье я немного коснусь вопроса использования сURL в php и напишу подключение на сURL к sape.ru.

   Как Вы знаете, Sape.ru это популярный ссылочный брокер в Интернете, который активно используется веб мастерами для дополнительного заработка на своих сайтах и seo оптимизаторами для успешной раскрутки веб сайтов. Так, как покупка/продажа ссылок довольно трудоемкий процесс, хотя и автоматизированный самой системой sape, некоторые веб мастера хотели бы еще увеличить автоматизацию, например, получать списки ссылок, проверять их показатели, отказывается от ссылок или проверять статус баланса в удаленном режиме. Для этого лишь нужно провести авторизацию на сайте и парсить нужные страницы. Поэтому я решил сделать такую авторизацию средствами сURL и поделится с Вами решением этой задачи.

   сURL - это специальная библиотека в виде php_curl.dll файла. Она может поддерживает такие протоколы, как HTTPS (SSL), FTP, FTPS, GOPHER, LDAP, DICT, TELNET и FILE. С помощью сURL можно выполнить практически любой удаленный запрос, а веб сервер может выступать полноценным клиентом использующим любой сервис основаный на HTTP протоколе.
   Библиотека сURL - open source продукт с оригинальной MIT/X лицензией, позволяющей использовать этот пакет в любых: как коммерческих, так и некоммерческих целях, включать ее в свой дистрибутив (даже если он распространяется без открытого исходного кода).
   Чтобы узнать, включена ли поддержка cURL в php, выполните "phpinfo()" и посмотрите в разделе cURL строку "cURL support". Если поддержка cURL в php "disabled", то Вы можете активировать библиотеку розкомментировав строку эту строку в php.ini (убрать впереди точку с запятой)

;extension=php_curl.dll

Поскольку cURL использует библиотеку openssl для SSL (HTTPS) соединений, Вам необходимо установить сервер с поддержкой SSL. В случае, если при инсталляции cURL библиотека openssl найдена не будет, произойдет установка cURL без поддержки SSL соединений. Для использования cURL при авторизации на различных сайтах (в том числе и на sape.ru), Вам придется передавать данные по протоколу HTTPS. Так что, проверьте (опять же с помощью функции "phpinfo()") включена ли на Вашем сервере поддержка "OpenSSL support". Если нет, значит переустанавливайте веб сервер. Apache c поддержкой ssl протокола Вы можете скачать здесь http://apache.rinet.ru/dist/httpd/binaries/win32/.

   Теперь рассмотрим небольшой пример использование cURL на php и авторизируемся на сайте sape.ru. Для этого посетим сайт sape.ru и одолжим у них кусочек кода, связанный с авторизацией на сайте.

<form accept-charset="UTF-8" action="https://auth.sape.ru/login/" method="post" onsubmit="return correct_inputs();">
   <input type="hidden" name="act" value="login" />
   <input type="hidden" name="r" value="http://www.sape.ru/" />
   <a class="reg-link" href="http://passport.sape.ru/account/signup/" title="Зарегистрироваться" >Зарегистрироваться<br /><br />
   <label>Логин   <input type="text" name="username" value="" tabindex="1" /></label><br />
   <label>Пароль <input type="password" name="password" value="" tabindex="2" /></label>
   <input type="submit" tabindex="3" class="enter" value="Войти" /><br />
   <div class="remember-pass">
   <a href="http://passport.sape.ru/account/password/recover/">Напомнить<br />пароль</a>
   </div>
</form>

Код мы получили. Давайте его детально разберем и посмотрим что у нас есть в наличие:
   1. адрес (хост), которому отсылается запрос https://auth.sape.ru/login/
   2. метод передачи Post
   3. передаются такие переменные act=login, r=http://www.sape.ru/, username = имя пользователя (присваивается, когда пользователь вводит его в форму), password = пароль пользователя (присваивается, когда пользователь вводит его в форму).

   Вот и все, довольно немного информации. попробуем на ее основе составить правильный запрос к сайту sape.ru.

<?php

$curl = curl_init(); // инициализируем cURL
/*Дальше устанавливаем опции запроса в любом порядке*/
//Здесь устанавливаем URL к которому нужно обращаться

curl_setopt($curl, CURLOPT_URL, 'https://auth.sape.ru/login/');
//Настойка опций cookie
curl_setopt($curl, CURLOPT_COOKIEJAR, 'cook.txt');//сохранить куки в файл
curl_setopt($curl, CURLOPT_COOKIEFILE, 'cook.txt');//считать куки из файла
//устанавливаем наш вариат клиента (браузера) и вид ОС
curl_setopt($curl, CURLOPT_USERAGENT, "Opera/10.00 (Windows NT 5.1; U; ru) Presto/2.2.0");
//Установите эту опцию в ненулевое значение, если вы хотите, чтобы PHP завершал работу скрыто, если возвращаемый HTTP-код имеет значение выше 300. По умолчанию страница возвращается нормально с игнорированием кода.
curl_setopt($curl, CURLOPT_FAILONERROR, 1);
//Устанавливаем значение referer - адрес последней активной страницы
curl_setopt($curl, CURLOPT_REFERER, 'http://www.sape.ru/');
//Максимальное время в секундах, которое вы отводите для работы CURL-функций.
curl_setopt($curl, CURLOPT_TIMEOUT, 3);
curl_setopt($curl, CURLOPT_POST, 1); // устанавливаем метод POST
//ответственный момент здесь мы передаем наши переменные
//замените значения your_name и your_pass на соответственные значения Вашей учетной записи

curl_setopt($curl, CURLOPT_POSTFIELDS, 'r=http://www.sape.ru/&act=login&username=your_name&password=your_pass');
//Установите эту опцию в ненулевое значение, если вы хотите, чтобы шапка/header ответа включалась в вывод.
curl_setopt($curl, CURLOPT_HEADER, 1);
//Внимание, важный момент, сертификатов, естественно, у нас нет, так что все отключаем
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);// не проверять SSL сертификат
curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 0);// не проверять Host SSL сертификата
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);// разрешаем редиректы
$result = curl_exec($curl); // выполняем запрос и записываем в переменную
curl_close($curl); // заканчиваем работу curl
echo $result; // собственно печатаем результат

?>

   Вставьте этот код, в Ваш скрипт, предварительно поменяв значение переменных username и password, и вуаля, перед Вами должна открыться главная страница sape.ru, авторизированного пользователя.
Еще раз напомню, Ваш веб сервер должен быть собран с поддержкой ssl (он же https) протокола.
   Более детальную информацию по опциям cURL Вы можете найти здесь http://htmlweb.ru/php/php_curl.php.
   Творческих Вам успехов.

613
1.9 18
Рейтинг: +1.9 , голосов 18
Вы еще не голосовали!
Добавить комментарий (комментариев: 6)
Удалить ответ

Ваш почтовый ящик никогда не будет опубликован
Трудно разобрать цифры? Нажмите на рисунок, чтобы обновить.
#1 20/08/2011 16:27 Леха
reply
Спасибо, нашел. Нужно добавить: curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
#2 20/08/2011 14:37 Леха
reply
А как сделать чтобы содержимое сайта, на который зашел с авторизацией, не отображалось, а писалось в переменную?
#3 04/05/2011 10:08 Эд
reply
Спасибо, помогло, только не как sape-скрипт, а как разъясниловка по curl.
#4 23/04/2009 14:55 masha
reply
все в порядке, я не ту почту указала
#5 23/04/2009 12:49 masha
reply
ок

а почему у вас уведомления о том, что коммент добавлен, не приходят?
23/04/2009 14:43 admin
почему же, должны приходить, когда я отвечаю на комент: один ответ добавляется в коментарии к статье, другой отправляется на указаный почтовый ящик посетителя, если ящик указан правильный, то обычно доходят, если нет, то мне назад возращаются. Но возврата предыдущего ответа не было, может где-то зависло
#6 21/04/2009 13:36 мария
reply
спасибо, скрипт работает,

хочу ваш скрипт использовать с воем коде, но также учесть авторство, как ваше имя написать?
22/04/2009 10:57 admin
напишите, как указано внизу "Семен Горбунков", если уж так хотите

Дополнительно

» С чего начать сайт?

» Установка программ

» Пример создания сайта

» Хостинг и домен

» Оптимизация сайта

» Раскрутка сайта

» Заработок web-мастера

» Примеры PHP/Javascript

» Блог и мои записки

Последние новости

Статьи по рейтингу

» Особенности покупки контента 5.0 1
» Выбор хостинга 4.8 5
» Поисковые системы 4.7 9
» Курс молодого web-мастера 4.6 21
» Где взять бесплатные ссылки 4.5 11
» Что такое сниппеты 4.5 6
» Addstudio - SEO модуль 4.5 4
» Отладка js и CSS 4.4 14
» Стратегия дохода на Sape.ru 4.3 3
» Каталоги и биржи статей 4.3 4