Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Авторизация на Mail.ru / 5 сообщений из 5, страница 1 из 1
14.02.2013, 15:31
    #38151438
NikVik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация на Mail.ru
Как авторизироваться на mail.ru из объекта MSXML2.XMLHTTP?
Спасибо
...
Рейтинг: 0 / 0
15.02.2013, 09:44
    #38152328
NikVik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация на Mail.ru
Это невозможно или не интересно?
Конечно, mail.ru взят для примера. На самом деле нужно скачать прайс с b2b (просто не могу дать пароли), но скачка по MSXML2.XMLHTTP не получается из-за отсутсвия авторизации. Через InternetExplorer.Application авторизация проходит, а объект MSXML2.XMLHTTP не могу авторизовать.
Посмотрел, что посылается на сайт при авторизации.
Пытаюсь сделать так (тестовый логин - test3597 (домен mail.ru), пароль - sdfg12):

Код: vbnet
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.
Public Sub TestMailRu()
Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
    XMLHTTP.Open "POST", "http://win.mail.ru/cgi-bin/auth", True
    XMLHTTP.setRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
    XMLHTTP.setRequestHeader "Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.7"
    XMLHTTP.setRequestHeader "Accept-Encoding", "gzip, deflateAccept-Language:ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"
    XMLHTTP.setRequestHeader "Host", "win.mail.ru"
    XMLHTTP.setRequestHeader "Proxy-Authorization", "Basic TGV2aW46d1RSX2wzNDU="
    XMLHTTP.setRequestHeader "Proxy-Connection", "keep-alive"
    XMLHTTP.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2"
    
    XMLHTTP.setRequestHeader "Cookie", "any non-empty string here"
coo1 = "Mpop=1358089814:60647d6c5e63695f19050219081d03041c0d074f6a5d5e465e00050902031e0b05741e4d5c4b4503040e021658505d5b174345:test3597@mail.ru:"
coo2 = "VID=2aq3Eh1K3un4"
coo3 = "B=hT0MAFAsyQQA+HJhgI4LBd9ZGMSkliA2CYYAAEDEqR1h5h8IsV9HyLo6QtDYETawjuCv0QxxfqWOAAAA"
coo4 = "C=uOwcUQAAAESCAAATAQAA3gAAAQAA"
coo5 = "I=AQBWxxxRAgATAAgBAF0ABQIBAA"
coo6 = "mc1=1361434055"
coo7 = "mrcu=CD204F02C99D77E1D6DAFA01060A"
coo8 = "p=NnoAABP7hQAA"
coo9 = "s="
coo10 = "t=obLD1AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACAAAEBdgcA"
cookies = coo1 & "; " & coo2 & "; " & coo3 & "; " & coo4 & "; " & coo5 & "; " & coo6 & "; " & coo7 & "; " & coo8 & "; " & coo9 & "; " & coo10

    XMLHTTP.setRequestHeader "Cookie", cookies
     XMLHTTP.Send 
    Do While XMLHTTP.readyState <> 4
         DoEvents
    Loop
    
s = XMLHTTP.responseBody
MsgBox s
Set XMLHTTP = Nothing
End Sub



возвращает пустоту ... что я делаю не так???
...
Рейтинг: 0 / 0
15.02.2013, 11:48
    #38152516
KVVK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация на Mail.ru
NikVik, есть хороший пример про Яндекс
http://www.rsdn.ru/article/inet/httpweb.xml
...
Рейтинг: 0 / 0
15.02.2013, 12:17
    #38152578
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация на Mail.ru
NikVik,
запрос в "нетуда", логин-пароль не передаёте.
Код: vbnet
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.
    Const URL_AUTH$ = "https://auth.mail.ru/cgi-bin/auth"
    Const S_LOGIN$ = "test3597", S_PASS$ = "sdfg12", S_DOMAIN$ = "mail.ru"
    
    Dim XMLHTTP, param
    Dim cookies$
    Dim s$

    Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
    With XMLHTTP
        .Open "POST", URL_AUTH, 0
        .setRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
        .setRequestHeader "Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.7"
        .setRequestHeader "Accept-Encoding", "gzip, deflate;Accept-Language:ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"
        
        cookies = "loginS=0"
        .setRequestHeader "Cookie", cookies
        
        param = "Login=" & S_LOGIN & "&Password=" & S_PASS & "&Domain=" & S_DOMAIN & ""
        
        .send param
        If .Status = 200 Then
            's = .responseBody
            s = .responsetext
            'cookies = .getresponseheader("Set-Cookie")
            cookies = .getallresponseheaders
        Else: s = "*Ie?aeuea": cookies = ""
        End If
    End With
    Set XMLHTTP = Nothing

    MsgBox s, , "RESPONSE"
    'MsgBox cookies, , "COOKIES"
    MsgBox cookies, , "RESPONSE_HEADERS"
    

...
Рейтинг: 0 / 0
15.02.2013, 16:35
    #38153143
NikVik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация на Mail.ru
Огромное спасибо!
скукотища - за код, KVVK - за ссылку, не встречал раньше, читаю.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Авторизация на Mail.ru / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]