При попытке залогиниться посылает

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by s0l_ir0n, 2 Sep 2009.

  1. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Здравствуйте. Пишу на delphi.
    До этого никогда не работал с хттп, поэтому ламерский вопрос:
    Пытаюсь залогиниться на почтовике
    Code:
    'POST /login.php HTTP/1.1'+ #13#10 +
                        'Host: login.namba.kz'+ #13#10 +
                        'User-Agent: Monkey/7.1 (MacOS; N; eu; lv:2.9) MRA 5.5 (build 02842);'+ #13#10 +
                        'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'+ #13#10 +
                        'Accept-Language: ru,en-us;q=0.7,en;q=0.3'+ #13#10 +
                        'Accept-Encoding: gzip,deflate'+ #13#10 +
                        'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'+ #13#10 +
                        'Keep-Alive: 300'+ #13#10 +
                        'Connection: keep-alive'+ #13#10 +
                        'Referer: https://login.namba.kz/login.php'+ #13#10 +
                        'Content-Type: application/x-www-form-urlencoded'+ #13#10 +
                        'Content-Length: ' + IntToStr(Length(PostData)) + #13#10#13#10 + PostData+#13#10+'Connection: close' + #13#10#13#10;
    В ответ приходит:
    А судя по снифферу должно приходить:
    Логин и пароль верный.
    Кому не сложно, накидайте пожалуйста код для залогивания. Мне нужно залогиниться и получить исходный код страницы, но у меня ничего не получается.
    Если что логин и пароль: a4at
     
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    o_O А ты попробуй открыт RFC по HTTP или чуть напряч мозги.
    Он же тебе пишет - HTTP/1.1 302 Found и Location: http://mail.namba.kz/inbox.php
    т.е. страница найдена и пишет куда тебе далее перейти.
    Но скорее всего тут логика такая:
    1) заходиш на http://mail.namba.kz/inbox.php
    Там устанавливаются куки тебе.
    2) Используя эти куки посылаеш POST запрос
    3) смотри что будет. там может бы страница а может быть тоже редирект
     
  3. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Такой ответ я получил из сниффера(который срабатывает правильно), а не из своей проги. Во своей я получаю Location: https://login.namba.kz/login.php
    Мож с https по другому надо работать?
     
  4. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    может он хочет чтобы авторизация шла тоже через HTTPS?
    ты в снифере погляди как идет код авторизации. в открытом виде или по https
     
  5. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Да там обычная авторизация...
    Ничего не понимаю %) Откройте мне глаза!!!11

    А при попытке туда пролезть так:
    Code:
    params:=TStringList.Create;
    responseres:=TStringList.Create;
    params.Add('login=a4at');
    params.Add('password=a4at');
    responseres.Text:=http1.Post('login.namba.kz/login.php',params);
    Получаю:
     
    #5 s0l_ir0n, 2 Sep 2009
    Last edited: 2 Sep 2009
  6. akahaos

    akahaos Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    responseres.Text:=http1.Post('http://login.namba.kz/login.php',params);
     
  7. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Сниффер... Когда юзал httpAnalyzer то запросы которые шли по https просто выпадали, и создавалось такое ощущение что вроде-бы https соединения и не было, фактически же именно авторизация проходила через https, хотя и для пользователя она происходила прозрачно, и если смотреть логи сниффера то тоже вроде как бы все шло только по http, так что мой совет - попробуй заюзать wireshark , он тебе покажет и https запросы, тогда и увидишь как это на самом деле происходит.
    P.S. У Яши такая долбаная авторизация...
     
  8. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    после ""PostData+#13#10"" больше ничего не должно быть.

    HTTP/1.1 замени на 1.0

    Бред сморозил, сори.

    Там идет работа полностью через SSL - так что OpenSSL в руки =)

    З.Ы. подкинул задачку, вот сижу библиотеки SSL компилю
     
    #8 POS_troi, 2 Sep 2009
    Last edited: 2 Sep 2009
  9. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Не правильно создаешь POST запрос. После PostData ничего не должно идти. То есть, правильнее было бы записать последние строчки так:
    Code:
                        'Content-Type: application/x-www-form-urlencoded' + #13#10 +
                        'Content-Length: ' + IntToStr(Length(PostData)) + #13#10 +
                        'Connection: close' + #13#10#13#10 +
                        PostData;
     
  10. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Chrome~ капетан ачевидность )))
     
    _________________________
    1 person likes this.