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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Авторизация на сайте, HttpWebRequest 
:(
    Опции темы
gvsnet
Дата 5.9.2011, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пытаюсь авторизоваться на сайте rambler.ru от сервера приходит ответ: код начальной страницы авторизации http://www.rambler.ru/ , а должен приходить код уже авторизованной страницы.

может ли быть что там стоить защита типа.
Выделить всёкод ASP
1:
EnableEventValidation=true

И тогда там просто не судьба авторизоваться программно.

Тот код который я пытаюсь довести до ума.
Выделить всёРазвернуть кодкод VB.NET
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.ObjectByVal As System.EventArgsHandles MyBase.Load
  
        Dim req As Net.HttpWebRequest = Net.HttpWebRequest.Create("http://mail.rambler.ru/mail/index.cgi")
        Dim header As New System.Text.StringBuilder()
       
        Dim cookie As String = req.GetResponse().Headers("set-cookie")
       
        req.Credentials = CredentialCache.DefaultCredentials
       
     
        req.Method = "POST"
        req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2;"
        req.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*"
        req.Headers.Add("Accept-Language", "ru")
        req.ContentType = "application/x-www-form-urlencoded"
        req.KeepAlive = False
        req.Referer = "http://www.rambler.ru/"
        req.Headers.Add(HttpRequestHeader.Cookie, cookie)
        req.AllowAutoRedirect = False
     
        Dim sQueryString As String = "from=&back=http%3A%2F%2Fmail.rambler.ru%2Fmail%2Fstartpage&url=7&login=LOGIN&domain=rambler.ru&passw=PASSWORD&long_session=on&user.password=%C2%EE%E9%F2%E8"
        Dim ByteArr As Byte() = Encoding.GetEncoding(1251).GetBytes(sQueryString)
        Dim response As HttpWebResponse = req.GetResponse()
      
        MsgBox(response.StatusDescription)
        Dim dataStream As Stream = response.GetResponseStream()
        Dim reader As New StreamReader(dataStream)
        Dim responseFromServer As String = reader.ReadToEnd()
        MsgBox(responseFromServer)
        TextBox1.Text = responseFromServer
        MsgBox(cookie)
        reader.Close()
        dataStream.Close()
        response.Close()
   End Sub
End Class 


Это сообщение отредактировал(а) gvsnet - 5.9.2011, 17:08
PM MAIL   Вверх
krewin
Дата 5.9.2011, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Советую использовать не HttpWebRequest а простой WebBrowser1. Используй строку урла from=&back=http%3A%2F%2Fmail.rambler.ru%2Fmail%2Fstartpage&url=7&login=LOGIN&domain=rambler.ru&passw=PASSWORD&long_session=on&user.password=%C2%EE%E9%F2%E8 далее получай кукису. 
WebBrowser выведет тебу куку уже с выполенный запросом далее используй эту кукису для последующей авторитазации.
PM MAIL   Вверх
gvsnet
Дата 6.9.2011, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Это понятно, что через WebBrowser все получится можно и не знать не чего про куки, и про способы формирования запроса, ни про поток, он сам все сделает. 
Мне интересен сам способ HttpWebRequest мне он кажется более универсальным, чем WebBrowser.

Объясните мне я не так делаю или просто там стоит защита.



PM MAIL   Вверх
krewin
Дата 6.9.2011, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



во первых ты неправ в форме авторитизации она тут https://id.rambler.ru/script/auth.cgi а не тут где ты указал http://mail.rambler.ru/mail/index.cgi

во воторых такие вещи нужно искать с помощи флай драгоном который встроен в браузер оперу(проинспектировань объект правой кнопкой мыши по веб странице) ты будеш знать кикие формы тут есть и куда они отправляют данные и методы отправки данных. Очень удобно а так как ты хотел IE показывает несколько строк урлов, незагружая их. Вот и вся защита, веб страница рекурсин на урлы в которох есть формы, тут же и с регистрацией.

в третих не забывает про куки без них ты не сможеш выполнить повторный рекурс

ответ на твой ворпрос мне удобнее пользоваться с WebBrowser  чем HttpWebRequest. Просто ты видешь что делаешь
PM MAIL   Вверх
gvsnet
Дата 7.9.2011, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(krewin @  6.9.2011,  19:55 Найти цитируемый пост)
во первых ты неправ в форме авторитизации она тут https://id.rambler.ru/script/auth.cgi а не тут где ты указал http://mail.rambler.ru/mail/index.cgi


Да, ошибка у меня тут есть. Но эффекта через HttpWebRequest все равно нет.

Цитата(krewin @  6.9.2011,  19:55 Найти цитируемый пост)
во воторых такие вещи нужно искать с помощи флай драгоном который встроен в браузер оперу(проинспектировань объект правой кнопкой мыши по веб странице) ты будеш знать кикие формы тут есть и куда они отправляют данные и методы отправки данных. Очень удобно а так как ты хотел IE показывает несколько строк урлов, незагружая их. Вот и вся защита, веб страница рекурсин на урлы в которох есть формы, тут же и с регистрацией.


Я использовал fiddler web debugger он показывает хедеры который отправляет браузер странице. Про  Драгон флай раньше не слышал (оперой особо не пользуюсь, мозилу юзаю) но штука хорошая помогает найти названия нужных строк.  

Цитата(krewin @  6.9.2011,  19:55 Найти цитируемый пост)
в третих не забывает про куки без них ты не сможеш выполнить повторный рекурс


Вроде в моем коде с куками все хорошо. Я имел ввиду что в WebBrowser куками занимается сам IE (а не мой код) поэтому там знание когда отправляются куки не так важны.

Цитата(krewin @  6.9.2011,  19:55 Найти цитируемый пост)
ответ на твой ворпрос мне удобнее пользоваться с WebBrowser  чем HttpWebRequest. Просто ты видешь что делаешь 


Всем удобнее пользоваться WebBrowser чем HttpWebRequest. Вопрос стоит именно о HttpWebRequest каким образом это реализовать через него?
Через WebBrowser я такое делал там все работает без проблем.


Это сообщение отредактировал(а) gvsnet - 7.9.2011, 08:50
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

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

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


 




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


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

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