Использование cURL для авторизации на sape.ru
Главная  
Про проект  
Книги  
Обмен ссылками  
Сервис  
Добавить статью  
Главная
Про проект
Книги
Обмен ссылками
Сервис
Добавить статью
Главная
dragon
Статьи в разделе:
Примеры PHP/Javascript
всего статей (9)

» Bcompiler расширение php
» Отладка скриптов в php
» Авторизация на sape.ru
» Cокеты в php
» Защита js кода
» Отправка почты на PHP
» Создание часов
» Защита от спама
» Резолюция дисплея на Javascript

Другие разделы:
    Подготовка к созданию сайта
    Установка програм
    Пример создания сайта
    Хостинг и домен
    Оптимизация сайта
    Раскрутка сайта
    Заработок Web-мастера

 
 
 
sape
 
Кнопка сайта:
Самостоятельное создание сайта, веб-дизайн, web-программирование, продвижение и оптимизация сайта
Ремонтная мастерская: ремонт ноутбуков профсоюзная - дешево..




По всем вопросам пишите на webmaster@info-pages.com.ua. Вы можете свободно использовать/размещать/перепечатывать статьи сайта всего лишь указав ссылку на источник.
Использование cURL для авторизации на sape.ru
  

   Авторизация на sape.ru средствами cURL

Размещено: 25 марта 2009   
   В этой статье я немного коснусь вопроса использования с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="Зарегистрироваться" >Зарегистрироваться</a><br /><br />
   <label>Логин &nbsp;&nbsp;<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.
   Творческих Вам успехов.

Ваша оценка:
 kod
Проголосовать!
Спасибо, Вы успешно
проголосовали!
Ошибка скрипта,
сообщите администратору!
Ошибка,
неверный код!
Вы уже голосовали!
Текущий рейтинг: +4, проголосовало 9
Комментариев к статье (5)
Комментарий добавил: мария 13:36 21.04.09
спасибо, скрипт работает,

хочу ваш скрипт использовать с воем коде, но также учесть авторство, как ваше имя написать?
Комментарий добавил: admin 10:57 22.04.09
напишите, как указано внизу "Семен Горбунков", если уж так хотите :)
Комментарий добавил: masha 12:49 23.04.09
ок

а почему у вас уведомления о том, что коммент добавлен, не приходят?
Комментарий добавил: admin 14:43 23.04.09
почему же, должны приходить, когда я отвечаю на комент: один ответ добавляется в коментарии к статье, другой отправляется на указаный почтовый ящик посетителя, если ящик указан правильный, то обычно доходят, если нет, то мне назад возращаются. Но возврата предыдущего ответа не было, может где-то зависло
Комментарий добавил: masha 14:55 23.04.09
все в порядке, я не ту почту указала
Д О Б А В И Т Ь    К О М М Е Н Т А Р И Й:
   Ваше имя:
   
   Почтовый ящик @:
    * - не отображается
   Текст комментария:
   



   Введите защитный код: :) :( ;) :| 8) :] :0 :S :Ok :sos :B B( yes boom write
   kod
   
 

Где еще почитать на эту тему?
 

                                                                                                                                                                                                                                                                                                                                                                                 
Авторизация

Логин:
Пароль:



















 
Все права защищены, 2007-2009рр. статей: всего 71, на модерации 245; комментариев: 331, ссылок: всего 15, новых 0; выполнено за 0.26 sec. Карта сайта