Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу авторизваться на сайте, казалось бы просто 
:(
    Опции темы
dimawork
Дата 14.1.2014, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 14.1.2014

Репутация: нет
Всего: нет



Всем привет, есть небольшая проблема нужно авторизаваться на сайте deficitwarez.ru на странице добовления новостей а именно добовление через админку путь 
Код

http://deficitwarez.ru/admin222.php?mod=addnews&action=addnews


отправляю следующие данные:
"login_name=NewMyLogin1234" +        // Логин для авторизации
"&login_password=Мой пароль" +       // Пароль для авторизации
"&subaction=dologin";

Через браузер, вручную, проблем, нет смотрел через снифер, отправляются те же данные.

Пробовал сразу отправлять GET запрос на эту страницу, затем POST с полученными куками, результат тотже, Ничего не получается бьюсь уже целый день.
Помогите, пожалуйста, что я делаю не так
PM MAIL   Вверх
jonie
Дата 14.1.2014, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



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


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
dimawork
Дата 14.1.2014, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 14.1.2014

Репутация: нет
Всего: нет



я указал настоящие данные
NewMyLogin1234       // Логин для авторизации
Мой пароль                // Пароль для авторизации

делал идентичные заголовки как через оперу
user posted image
всё равно ничего не вышло, если логинится просто на главную страницу deficitwarez.ru проблем нет., а возникают они если пытаться залогинится сразу в админку.

ещё хотелось бы отменить через браузер передаётся ещё параметр "selected_language", но он не обязательный, уверен на 100%

Это сообщение отредактировал(а) dimawork - 14.1.2014, 19:29
PM MAIL   Вверх
jonie
Дата 14.1.2014, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



код где?


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
dimawork
Дата 14.1.2014, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 14.1.2014

Репутация: нет
Всего: нет



Цитата(jonie @ 14.1.2014,  20:00)
код где?

Не думаю, что код имеет смысл вылаживать, просто я написал очень большой класс, весь вылаживать нет смысла т.к отпарвка запроса осуществляется в другом классе, слишком много чего не понятно, что выбрать

Вот есть заголовки от стандартного компонета C# веббраузера:
-----------
POST /admin222.php?mod=addnews&action=addnews HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://deficitwarez.ru/admin222.php?mod=ad...;action=addnews
Accept-Language: ru-RU
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; WebMoney Advisor; InfoPath.3)
Host: deficitwarez.ru
Content-Length: 105
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: PHPSESSID=34d4c05c52ce838bdcbea07359d38279

subaction=dologin&username=NewMyLogin1234&password=%CC%EE%E9+%EF%E0%F0%EE%EB%FC&selected_language=Russian
-----
у меня же идут вот такие :
---
POST /admin222.php?mod=addnews&action=addnews HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; WebMoney Advisor; InfoPath.3)
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, */*;q=0.1
Referer: http://deficitwarez.ru/admin222.php?mod=ad...;action=addnews
Accept-Language: ru-RU
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Host: deficitwarez.ru
Cookie: PHPSESSID=ccbe3bc2650ba3ea6b083f98961bc3a0
Content-Length: 69
Expect: 100-continue

subaction=dologin&login_name=NewMyLogin1234&login_password=Мой пароль


Подскажите что не так, меня смущает присудствие у меня таких заголовков как
Content-Length: 69
Expect: 100-continue

Есть ещё одна сторонняя прогармма вот её заголовки (сдесь тоже авторизация проходит отлично, написана провда на делфи):
---------
POST /admin222.php?mod=addnews&action=addnews HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 55
Host: deficitwarez.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: identity
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Referer: http://deficitwarez.ru/admin222.php?mod=ad...;action=addnews
User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10
Cookie: PHPSESSID=89c67bb7cf89e8f22541ef7023858b6b
Cookie2: $Version="1"

subaction=dologin&login_name=NewMyLogin1234&login_password=Мой пароль
PM MAIL   Вверх
jonie
Дата 14.1.2014, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



ну уж сделайте отдельный проект и там сообразите код. меня вот заголовок content-lenght не смущает (это собственно и есть POST). Проверьте кодировоку собственно отсылаемых данных (POST). В частности вы не кодируете судя по-всему пароль как то предписывают правила..


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
dimawork
Дата 14.1.2014, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 14.1.2014

Репутация: нет
Всего: нет



Цитата(jonie @ 14.1.2014,  20:20)
ну уж сделайте отдельный проект и там сообразите код. меня вот заголовок content-lenght не смущает (это собственно и есть POST). Проверьте кодировоку собственно отсылаемых данных (POST). В частности вы не кодируете судя по-всему пароль как то предписывают правила..

Вот набросал

Код

// --- GET ЗАПРОС
            HttpWebRequest myReq = null;                                                     // Обрабатывает запрос к сайту
            HttpWebResponse myRes = null;                                                    // Хранит ответ полученный от запроса

            try { myReq = (HttpWebRequest)HttpWebRequest.Create("http://deficitwarez.ru/admin222.php?mod=addnews&action=addnews"); }
            catch (UriFormatException) { return; }

            myReq.Method = "GET";
            myReq.Proxy = null;                                                     // Отключаем прокси
            myReq.AllowAutoRedirect = false;

            myReq.Host = "deficitwarez.ru";                                         // Указываем Host
            myReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; WebMoney Advisor; InfoPath.3)";                                           // Имитировать как браузер...
            myReq.Accept = "*/*";                                                   // Указываем какие данные вернуть
            
            myReq.Headers.Add("Accept-Language", "ru-RU");                          // Указываем региональные настройки
            //myReq.ContentType = "application/x-www-form-urlencoded";
            myReq.Headers.Add("Accept-Encoding", "gzip, deflate");                  // Нужно ли использовать сжатие?
            myReq.CookieContainer = new CookieContainer();                          // Разрешить cookie
            myReq.KeepAlive = true;                                                 // Нужно ли устанавливать постоянное подключение
            myReq.Headers.Add("Cache-Control", "no-cache");
            //myReq.ServicePoint.Expect100Continue = false; 

            try { myRes = (HttpWebResponse)myReq.GetResponse(); }                   // Получаем ответ от выполения запроса
            catch (ProtocolViolationException) { return; }

            CookieContainer myCookie = myReq.CookieContainer;                       // Сохраняю куки

            // --- POST ЗАПРОС
            HttpWebRequest myReq_POST = null;                                       // Обрабатывает запрос к сайту
            HttpWebResponse myRes_POST = null;                                      // Хранит ответ полученный от запроса

            try { myReq_POST = (HttpWebRequest)HttpWebRequest.Create("http://deficitwarez.ru/admin222.php?mod=addnews&action=addnews"); }
            catch (UriFormatException) { return; }

            myReq_POST.Method = "POST";
            myReq_POST.Proxy = null;                                                // Отключаем прокси
            myReq_POST.AllowAutoRedirect = false;

            myReq_POST.Host = "deficitwarez.ru";                                    // Указываем Host
            myReq_POST.Referer = "http://deficitwarez.ru/admin222.php?mod=addnews&action=addnews";                // Указываем сайт реферал
            myReq_POST.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; WebMoney Advisor; InfoPath.3)";                                           // Имитировать как браузер...
            myReq_POST.Accept = "*/*";                                              // Указываем какие данные вернуть
            
            myReq_POST.Headers.Add("Accept-Language", "ru-RU");                     // Указываем региональные настройки
            myReq_POST.ContentType = "application/x-www-form-urlencoded";
            myReq_POST.Headers.Add("Accept-Encoding", "gzip, deflate");             // Нужно ли использовать сжатие?
            myReq_POST.ContentType = "application/x-www-form-urlencoded";
            myReq_POST.CookieContainer = myCookie;                                  // Взять Cookie для выполнения запроса
            myReq_POST.KeepAlive = true;                                            // Нужно ли устанавливать постоянное подключение
            myReq_POST.Headers.Add("Cache-Control", "no-cache");
            //myReq.ServicePoint.Expect100Continue = false; 

            byte[] SomeBytes_ = null;
            string postData_ = "subaction=dologin" +
                                "&login_name=NewMyLogin1234" +                      // Логин для авторизации
                                "&login_password=Мой пароль";                       // Настраиваем параметры для POST запроса
            SomeBytes_ = Encoding.GetEncoding(1251).GetBytes(postData_);              // Переводим в нужную кодировку (Пока только UTF8)
            myReq_POST.ContentLength = SomeBytes_.Length;
            Stream newStream = myReq_POST.GetRequestStream();                       // Получаем ответ от выполненного запроса
            newStream.Write(SomeBytes_, 0, SomeBytes_.Length);
            newStream.Close();


            try { myRes_POST = (HttpWebResponse)myReq_POST.GetResponse(); }          // Получаем ответ от выполения запроса
            catch (ProtocolViolationException) { return; }


Это сообщение отредактировал(а) dimawork - 14.1.2014, 20:51
PM MAIL   Вверх
jonie
Дата 15.1.2014, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



ну вот же косяк:
Код

            string postData_ = "subaction=dologin" +
                                "&login_name=NewMyLogin1234" +                      // Логин для авторизации
                                "&login_password=Мой пароль";                       // Настраиваем параметры для POST запроса


надо кодировать данные. как-то типа :
Код

...
"&login_name=" + HttpUtility.UrlEncode("NewMyLogin1234")+
....
аналогично и с паролем


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0506 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.