Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Авторизация с cURL

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Помогите разобраться с заголовками!
Delovoy
Отправлено: 14 Января, 2011 - 10:00:49
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Хочу написать скрипт, который автоматически авторизуется на сайте, но не до конца понимаю как это сделать!

Установил Proxomitron
получил следующую картину авторизации на сайте:

Цитата:

+++GET 35+++
Using Proxy - 10.224.100.2:18080
POST http://www[dot]cis[dot]net[dot]ua/Content/It[dot][dot][dot]inIntoSystem.php HTTP/1.0
User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.00
Host: www[dot]cis[dot]net[dot]ua
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Proxy-Authorization: Basic a292YWxza2l5OmJlcmdoZWFz
Referer: http://www[dot]cis[dot]net[dot]ua/Content/It[dot][dot][dot]inIntoSystem.php
Cookie: b=b; iua=1; phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bi%3A-1%3B%7D; documentation=t7ekp8qg25bmdcvr6irfin70q2; b=b; iua=1
Cookie2: $Version=1
Content-Length: 27
Content-Type: application/x-www-form-urlencode d
Connection: keep-alive
Posting 27 bytes...

+++RESP 35+++
HTTP/1.0 200 OK
Date: Fri, 14 Jan 2011 07:58:26 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.2.17
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html
X-Cache: MISS from mx.cis.net.ua
Proxy-Connection: close


В самой форме авторизации вводятся всего два параметра:
логин и пароль
Логично было бы, если бы они передались как параметры метода POST
но как это происходит ...не пойму
в данном листинге никакие параметры не передаются или я ошибаюсь ?
 
 Top
JustUserR
Отправлено: 14 Января, 2011 - 14:59:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Delovoy пишет:
Логично было бы, если бы они передались как параметры метода POST
но как это происходит ...не пойму
В данном листинге никакие параметры не передаются или я ошибаюсь ?
Приведенная форма описания документов передаваемых HTTP-запросов на целевой web-сервер осуществляющая процесс авторизации с заданными параметрами - в действительности включает отправку требуемых информационных полей с реализаацией предварительной модификации уровеня трактовки элементов относительно операции URL-кодирования
Отсутсивие отображения реального передаваемого информационного поля POST-запроса связано с соответствующей конфигурацией приложения Proxomitron - поскольку в предполагаемом документе вместо реального значения используется выражение Posting 27 bytes...


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Delovoy
Отправлено: 14 Января, 2011 - 18:32:37
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




О, спасибо! Дело сдвинулось с мертвой точки!
Нашел настройки отображения в журнале

получилось вот что:

Спойлер (Отобразить)



теперь собственно сам код авторизации:
PHP:
скопировать код в буфер обмена
  1.  // инициализация сеанса
  2.             $ch = curl_init();
  3.  
  4.             // установка URL и других необходимых параметров
  5.             curl_setopt($ch, CURLOPT_URL,"http://address.ua/");
  6.  
  7.             // установка метода передачи параметров
  8.             curl_setopt($ch, CURLOPT_POST, 1);
  9.            
  10.             // установка браузера
  11.             curl_setopt ($ch, CURLOPT_USERAGENT, "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.00");
  12.  
  13.             // добавляем заголовков к нашему запросу. Чтоб смахивало на настоящего пользователя :)
  14.             $headers = array
  15.                 (
  16.                 'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1',
  17.                 'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8',
  18.                 'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0',
  19.                 'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'
  20.             );
  21.  
  22.             curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  23.  
  24.             // Прокси и авторизация
  25.             curl_setopt($ch, CURLOPT_PROXY, '10.224.100.2 : 18080');
  26.             curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:userpass');
  27.  
  28.             // Подделываем значение - откуда пришли данные.
  29.             curl_setopt($ch, CURLOPT_REFERER, "http://address.ua/");
  30.  
  31.            
  32.             // Функции для обработки установливаемых сайтом кук.
  33.             curl_setopt($ch, CURLOPT_COOKIEJAR, "d:\out\my_cookies.txt");
  34.             curl_setopt($ch, CURLOPT_COOKIEFILE, "d:\out\my_cookies.txt");
  35.        
  36.             // разрешить переадресацию
  37.             curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  38.  
  39.  
  40.             $param = 'formId=Logon
  41.                      &UserEmail=steel_d%40mail.ru
  42.                      &Password=address2010
  43.                      &RememberMe=false
  44.                      &x=50
  45.                      &y=12
  46.                          ';
  47.  
  48.  
  49.  
  50.             // параметры метода POST
  51.             curl_setopt($ch, CURLOPT_POSTFIELDS,$param);
  52.  
  53.  
  54.             // загрузка страницы и выдача её браузеру
  55.             $out = curl_exec($ch);
  56.  
  57.             // завершение сеанса и освобождение ресурсов
  58.             curl_close($ch);


но выдается повторно страница авторизации! следовательно авторизация происходит с ошибкой ...
подскажите где накосячил ?


Отредактировано модератором: Uchkuma, 14 Января, 2011 - 18:48:44
Портянки прячем в спойлеры, пожалуйста.
 
 Top
Мелкий Супермодератор
Отправлено: 14 Января, 2011 - 18:57:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




У вас лишние символы передаются, попробуйте так:
PHP:
скопировать код в буфер обмена
  1. $param = 'formId=Logon&UserEmail=steel_d%40mail.ru&Password=address2010&RememberMe=false&x=50&y=12';


И вижу ещё одну потенциальную проблему: Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Вам и ответ зазипованный придёт, лучше их вырежьте.


-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 15 Января, 2011 - 19:05:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Delovoy пишет:
О, спасибо! Дело сдвинулось с мертвой точки! Нашел настройки отображения в журнале
Пожалуйста! В качестве возможной причины осуществления некоррекного функционирования предполагаемого PHP-приложения автоматизированной авторизации на уделенном web-узле - может являться передача параметров информационных полей запроса в уровне трактования отличном о требуемого элеметного кодирования - что является прямым следствием интерполяции произвольных значений на этапе формирования целевого элемента запроса отличного от требуемого уровня


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Delovoy
Отправлено: 17 Января, 2011 - 10:00:47
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Убрал "лишние" символы и все заработало!
Спасибо, Мелкий!

Отдельное спасибо, JustUserR Радость
Ваш уровень трактования параметров моего запроса отличный от требуемого элемента кодирования, что скорее всего, как вы сами понимаете, является прямым следствием использования специфического построения излагаемых данных на этапе формирования ответа. Подумайте над этим ... Подмигивание
 
 Top
JustUserR
Отправлено: 17 Января, 2011 - 15:05:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Delovoy пишет:
Отдельное спасибо, JustUserR
Ваш уровень трактования параметров моего запроса отличный от требуемого элемента кодирования, что скорее всего, как вы сами понимаете, является прямым следствием использования специфического построения излагаемых данных на этапе формирования ответа. Подумайте над этим ...
Пожалуйста! Улыбка В действительности предполагаемая вами сентенция является важной в вопросе о формировании конечной формы включения элементов в информационные поля при осуществлении их транспортировки на целевую строну - это является обусловленным тем фактом что построение конечных информационных полей производится из комбинации данных различного уровня представления и элементов кодирования - при этом возможные используемые средства диагностического просмотра также обеспечивает перевод трактования элементов данные в соответсвии с собственным форматом отображения - по этой причине для однозначного просмотра передаваемых информационных полей целесообразно осуществить их перевод в байтовый формат и производить сравнение с шаблоном Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Delovoy
Отправлено: 18 Января, 2011 - 12:16:01
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




все! сдаюсь ))))))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB