Конференция "Сети" » TIdHTTP+TidSSLIOHandlerSocket парсинг! [D7, WinXP]
 
  • Lamer666 (12.02.08 13:16) [0]
    Добрый день уважаемые!
    Взялся за тяжелый (на мой взгляд) проект, парсинг с https по средствам TIdHTTP+TidSSLIOHandlerSocket и наткнулся на множество проблем (как и многие в прочем)
    Задача получит данные о балансе НОМЕРА!!!

    Помогите пожалуйсто!

    procedure TForm1.Button1Click(Sender: TObject);
    var
    SSLIO: TidSSLIOHandlerSocket;
    ProxyUse,ProxyAuth,UseSSL: boolean;
    body: string;
    HTTP: TIdHTTP;
    THURL: string;
    begin
    ProxyUse := true;
    ProxyAuth := true;
    UseSSL := true;
    THURL := 'https://issa.samara.mts.ru/SelfCare_Net2/account-status.aspx';

    Http := TIdHTTP.Create(nil);
    Http.Request.Username := 'Номер телефона';
    Http.Request.Password := 'Пароль';
    try
      Http.HTTPOptions := [hoInProcessAuth];
      Http.HandleRedirects := true;
      Http.AuthRetries := 1;
      if UseSSL then begin
        SSLIO := TidSSLIOHandlerSocket.Create(Http);
        Http.IOHandler := SSLIO;
        SSLIO.SSLOptions.Method := sslvTLSv1;
    it will be encrypted.
    basic and SSL breaks it.
        Http.Request.BasicAuthentication := true;
      end;
      body := Http.Get(THURL);
      Memo1.Clear; //(ТУТ ПОЛУЧАЮ ОШИБКУ socket error # 11004)
      Memo1.Lines.Add(body);
    finally
      if http.ResponseCode = 401 then
      showmessage('Authorisation required!');
      if UseSSL then SSLIO.Free;
      Http.Free;
    end;
    end;



    Вообще запустил HttpAnalyzerSTD, показывает:
    Что выполняеться последовательно 1 POST и 8 GET процессов...
    Может ли ктонибудь объяснить что мне нужно отправлять для получения нужной информации. Анализируя процессы, вижу что необходимый мен результат возвращяет последний GET/
    Поможте пожалста!
  • Lamer666 (12.02.08 13:36) [1]
    body := Http.Get(THURL);//(ТУТ ПОЛУЧАЮ ОШИБКУ socket error # 11004)

  • umbra © (12.02.08 13:40) [2]

    > ТУТ ПОЛУЧАЮ ОШИБКУ socket error # 11004

    Невозможно найти IP сервера по заданному имени (Полное описание ошибки: Затребованое имя допустимо и оно найдено в базе данных, но для имени отсутствуют связанные с ним данные, которые были разрешены для него (11004) on API 'ASync Lookup")
    Смотрите на ответы сервера в процессе 1 POST-а и 8 GET-ов, может что-то прояснится.
  • Lamer666 (12.02.08 14:02) [3]

    > umbra ©   (12.02.08 13:40) [2]

    Спасибо! Сейчас буду разбираться!
  • Lamer666 (12.02.08 15:37) [4]
    Ну что ж, немного посмотрел, решил ВЫПОЛНИТЬ первый POST
    Что передовать в качестве параметров?
    В HTTPANALYZER-е есть:
    Headers:
    1.Request Headers

    (Request-Line):POST /SelfCare_Net2/login.aspx HTTP/1.1
    Accept:*/*
    Referer:https://issa.samara.mts.ru/SelfCare_Net2/
    Accept-Language:ru
    Content-Type:application/x-www-form-urlencoded
    UA-CPU:x86
    Accept-Encoding:gzip, deflate
    User-Agent:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EmbeddedWB 14,52 from: http://www.bsalsa.com/ EmbeddedWB 14,52; .NET CLR 2.0.50727)
    Host:issa.samara.mts.ru
    Content-Length:1508
    Connection:Keep-Alive
    Cache-Control:no-cache
    Cookie:FORIS.TelCRM.SelfCare.Internet.UI.Language=ru; ASP.NET_SessionId=1clid12icv14ql45mkzbcfat


    2.Responce Headers

    (Status-Line):HTTP/1.1 302 Found
    Date:Tue, 12 Feb 2008 11:57:07 GMT
    Server:Microsoft-IIS/6.0
    X-Powered-By:ASP.NET
    X-AspNet-Version:2.0.50727
    Location:/SelfCare_Net2/login-wait.aspx
    Set-Cookie:.ASPXAUTH=; expires=Mon, 11-Oct-1999 19:00:00 GMT; path=/; HttpOnly
    Set-Cookie:FORIS.TelCRM.SelfCare.Internet.UI.Language=ru; expires=Mon, 12-May-2008 10:57:07 GMT; path=/
    Set-Cookie:.ASPXAUTH=3D5609C6DE2FF536EE0FDB8002E61312E28E2D1492176C17DDD9DF18BBA4DB6 B606DED1AA5F075B92C64C5B00574FC17604C3D34A0F53E6613D9822C2143C1E692C8F0017CC7DD9 DD7112C7DF780A730; path=/; HttpOnly
    Cache-Control:private
    Expires:Tue, 12 Feb 2008 11:57:07 GMT
    Content-Type:text/html; charset=utf-8
    Content-Length:25015


    Далее имеем:
    Cookies:
    1.Cookie Name

    FORIS.TelCRM.SelfCare.Internet.UI.Language=ru
    ASP.NET_SessionId=1clid12icv14ql45mkzbcfat


    2. Set-Cookie Name:

    .ASPXAUTH                                                                                                                                                                                                     /             Mon, 11-Oct-1999 19:00:00 GMT  
    FORIS.TelCRM.SelfCare.Internet.UI.Language  ru                                                                                                                                                                /             Mon, 12-May-2008 10:57:07 GMT  
    .ASPXAUTH                                   3D5609C6DE2FF536EE0FDB8002E61312E28E2D1492176C17DDD9DF18BBA4DB6B606DED1AA5F075B9 2C64C5B00574FC17604C3D34A0F53E6613D9822C2143C1E692C8F0017CC7DD9DD7112C7DF780A730   /    
     

    Post data:

    __EVENTTARGET=
    __EVENTARGUMENT=
    __VIEWSTATE=/wEPDwULLTE1NjkzMzkzNTAPZBYCZg9kFgICAw8WAh4Gb25sb2FkBUtqYXZhc2NyaXB0OmRvY3VtZW50L mdldEVsZW1lbnRCeUlkKCdjdGwwMF9wbGFjZXJfcGhvbmVOdW1iZXJFZGl0JykuZm9jdXMoKTsWBGYPF gIeC18hSXRlbUNvdW50AgEWAmYPZBYCZg8VAhZsb2dpbi5hc3B4P2xhbmd1YWdlPWVuB2VuZ2xpc2hkA gEPZBYCZg9kFgoCAQ8PFgIeBFRleHQFHNCd0L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsDpkZAIFDw8WAh8CBQ3Qn9Cw0YDQvtC70Yw6ZGQCCQ8PFgQeDEVycm9yTWVzc2FnZQXxAdCS0Ysg 0LLQstC10LvQuCDQvdC10LrQvtGA0YDQtdC60YLQvdGL0Lkg0L3QvtC80LXRgC4g0J3QtdC+0LHRhdC+0LTQuNC80L4g0LLQstC10YHRgtC4INC90L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsCDQuNC3IDEwINGG0LjRhNGALCDRgSDRg9C60LDQt9Cw0L3QuNC10Lwg0LrQvtC00LAsINC90LDQ v9GA0LjQvNC10YAsIDQ5NTEyMzQ1NjcsINC4INC/0YDQuNC90LDQtNC70LXQttCw0YnQuNC5INGB0LXRgtC4INCc0KLQoS4eFFZhbGlkYXRpb25FeHByZXNz aW9uBQheXGR7MTB9JGRkAgsPDxYCHwMF8QHQktGLINCy0LLQtdC70Lgg0L3QtdC60L7RgNGA0LXQutGC 0L3Ri9C5INC90L7QvNC10YAuINCd0LXQvtCx0YXQvtC00LjQvNC+INCy0LLQtdGB0YLQuCDQvdC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAg0LjQtyAxMCDRhtC40YTRgCwg0YEg0YPQutCw0LfQsNC90LjQ tdC8INC60L7QtNCwLCDQvdCw0L/RgNC40LzQtdGALCA0OTUxMjM0NTY3LCDQuCDQv9GA0LjQvdCw0LTQu9C10LbQsNGJ0LjQuSDRgdC10YL QuCDQnNCi0KEuZGQCDw8PFgIfAgUc0JLQvtC50YLQuCDQsiDRgdC40YHRgtC10LzRg2RkZCfHIgWOaD6 s5QPtaAW5VVN4mDLC
    ctl00$placer$phoneNumberEdit=XXXXXXXXXX
    ctl00$placer$passwordEdit=XXXXX
    ctl00$placer$btnEnter=Войти в систему
    __EVENTVALIDATION=/wEWBAKRtcHFCgKqu/iBCAKBh5uRCwKjnLtj9RZRkvv1pFIxn++P8SToherdW/Y=
                                       

    STREAM:

    POST /SelfCare_Net2/login.aspx HTTP/1.1
    Accept: */*
    Referer: https://issa.samara.mts.ru/SelfCare_Net2/
    Accept-Language: ru
    Content-Type: application/x-www-form-urlencoded
    UA-CPU: x86
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EmbeddedWB 14,52 from: http://www.bsalsa.com/ EmbeddedWB 14,52; .NET CLR 2.0.50727)
    Host: issa.samara.mts.ru
    Content-Length: 1508
    Connection: Keep-Alive
    Cache-Control: no-cache
    Cookie: FORIS.TelCRM.SelfCare.Internet.UI.Language=ru; ASP.NET_SessionId=1clid12icv14ql45mkzbcfat

    __EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTE1NjkzMzkzNTAPZBYCZg9kFgICAw8WAh4Gb25sb2FkBUtqYXZhc2NyaXB0OmRvY3VtZW5 0LmdldEVsZW1lbnRCeUlkKCdjdGwwMF9wbGFjZXJfcGhvbmVOdW1iZXJFZGl0JykuZm9jdXMoKTsWBGY PFgIeC18hSXRlbUNvdW50AgEWAmYPZBYCZg8VAhZsb2dpbi5hc3B4P2xhbmd1YWdlPWVuB2VuZ2xpc2h kAgEPZBYCZg9kFgoCAQ8PFgIeBFRleHQFHNCd0L7QvNC10YAg0YLQtdC70LXRhNC%2B0L3QsDpkZAIFDw8WAh8CBQ3Qn9Cw0YDQvtC70Yw6ZGQCCQ8PFgQeDEVycm9yTWVzc2FnZQXxAdCS0Y sg0LLQstC10LvQuCDQvdC10LrQvtGA0YDQtdC60YLQvdGL0Lkg0L3QvtC80LXRgC4g0J3QtdC%2B0LHRhdC%2B0LTQuNC80L4g0LLQstC10YHRgtC4INC90L7QvNC10YAg0YLQtdC70LXRhNC%2B0L3QsCDQuNC3IDEwINGG0LjRhNGALCDRgSDRg9C60LDQt9Cw0L3QuNC10Lwg0LrQvtC00LAsINC90L DQv9GA0LjQvNC10YAsIDQ5NTEyMzQ1NjcsINC4INC%2F0YDQuNC90LDQtNC70LXQttCw0YnQuNC5INGB0LXRgtC4INCc0KLQoS4eFFZhbGlkYXRpb25FeHByZX NzaW9uBQheXGR7MTB9JGRkAgsPDxYCHwMF8QHQktGLINCy0LLQtdC70Lgg0L3QtdC60L7RgNGA0LXQut GC0L3Ri9C5INC90L7QvNC10YAuINCd0LXQvtCx0YXQvtC00LjQvNC%2BINCy0LLQtdGB0YLQuCDQvdC%2B0LzQtdGAINGC0LXQu9C10YTQvtC90LAg0LjQtyAxMCDRhtC40YTRgCwg0YEg0YPQutCw0LfQsNC90L jQtdC8INC60L7QtNCwLCDQvdCw0L%2FRgNC40LzQtdGALCA0OTUxMjM0NTY3LCDQuCDQv9GA0LjQvdCw0LTQu9C10LbQsNGJ0LjQuSDRgdC10 YLQuCDQnNCi0KEuZGQCDw8PFgIfAgUc0JLQvtC50YLQuCDQsiDRgdC40YHRgtC10LzRg2RkZCfHIgWOa D6s5QPtaAW5VVN4mDLC&ctl00%24placer%24phoneNumberEdit=XXXXXXXXXX&ctl00%24placer%24passwordEdit=XXXXX&ctl00%24placer%24btnEnter=%D0%92%D0%BE%D0%B9%D1%82%D0%B8+%D0%B2+%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%83&__EVENTVALIDATION=%2FwEWBAKRtcHFCgKqu%2FiBCAKBh5uRCwKjnLtj9RZRkvv1pFIxn%2B%2BP8SToherdW%2FY%3D


    Я так понимаю последнее и есть необходимые параметы?
  • Lamer666 (12.02.08 15:49) [5]
    Праильно лия понимаю, нужно ВЫПОЛНИТЬ POST, получить тем самым Cookies и а затем используя эти куки далее, или можно и без кукисов работать?
  • ketmar © (12.02.08 16:05) [6]
    >[5] Lamer666 (2008-02-12 15:49:00)
    а ты проверь — и узнаешь.

    ---
    Understanding is not required. Only obedience.
  • Lamer666 (12.02.08 16:24) [7]

    > ketmar ©   (12.02.08 16:05) [6]

    Это теоритическое предположение, основанное только лишь на интуиции, поэтому хоч услышать подтверждение МАСТЕРОВ, стоит ли идти в этом направлении, и вообще правильное ли оно?!
  • ketmar © (12.02.08 16:27) [8]
    >[7] Lamer666 (2008-02-12 16:24:00)
    за пол-часа это можно было кучу раз проверить самому. откуда нам-то знать, что там твой сервер проверяет?

    ---
    Understanding is not required. Only obedience.
  • Lamer666 (12.02.08 16:31) [9]
    Понятно, сейчас попробую, а метод GET будет работать без кукисов?
  • ketmar © (12.02.08 16:34) [10]
    >[9] Lamer666 (2008-02-12 16:31:00)
    а чего ему не работать? вот сервер может обидеться. именно это ты и проверишь.

    ---
    Understanding is not required. Only obedience.
  • Slym © (13.02.08 04:37) [11]
    включи кукисы, зачем их вручную парсить?
  • Slym © (13.02.08 04:42) [12]
    ктому же не средиректилося...
    HTTP/1.1 302 Found
    Location:/SelfCare_Net2/login-wait.aspx


    а он повторно на /SelfCare_Net2/login.aspx щимится
  • Lamer666 (13.02.08 17:11) [13]

    > включи кукисы, зачем их вручную парсить

    А как из включить? : (
  • umbra © (13.02.08 17:29) [14]

    > А как из включить?

    прицепить
    TIdCookieManager

    к
    TIdHTTP

  • Lamer666 (13.02.08 17:37) [15]

    > umbra ©   (13.02.08 17:29) [14]

    Спасибо! Разобрался уже, нашел у idHTTP CookieManeger!
    Спасибо!
 
Конференция "Сети" » TIdHTTP+TidSSLIOHandlerSocket парсинг! [D7, WinXP]
Есть новые Нет новых   [134431   +14][b:0][p:0.001]