Dekphi XE3

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by STLcRash, 3 Nov 2012.

  1. STLcRash

    STLcRash New Member

    Joined:
    4 Jun 2009
    Messages:
    39
    Likes Received:
    0
    Reputations:
    0
    Dekphi XE3 TIdHTTP post

    Code:
    procedure TForm1.sButton2Click(Sender: TObject);
    var
      bufer:string;
      Data:TStringList;
    begin
    
      HTTP.Request.Clear;
    
      HTTP.HandleRedirects:=true;
      HTTP.CookieManager:=cookie;
      HTTP.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;
    
      HTTP.Request.Host:='login.vk.com';
      HTTP.Request.UserAgent:='Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0';
      HTTP.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
      HTTP.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
      HTTP.Request.AcceptEncoding:='gzip, deflate';
      HTTP.Request.Connection:='keep-alive';
      HTTP.Request.Referer:='http://vk.com/';
    
      HTTP.Request.CustomHeaders.Add('Cookie: remixlang=0; remixflash=11.4.402; remixdt=14400; audio_vol=100');
    
      try
        Data:=TStringList.Create;
        Data.Add('act=login');
        Data.Add('role=al_frame');
        Data.Add('expire=');
        Data.Add('captha_sid=');
        Data.Add('captha_key');
        Data.Add('orign=http%3A%2F%2Fvk.com');
        Data.Add('ip_h=a4413af8ee32f69589');
        Data.Add('email='+log.Text);
        Data.Add('pass='+pass.Text);
    
        bufer := HTTP.post('http://login.vk.com/?act=login',Data);
        HTMLCode.Lines.Add(bufer);
    
        bufer := HTTP.Get('http://vk.com/unrreal');
        HTMLCode.Lines.Add(bufer);
    
      finally
        Data.Free;
      end;
    end;
    
    В мемо добавляется только "‹"

    В чем может быть проблема?
     
    #1 STLcRash, 3 Nov 2012
    Last edited: 3 Nov 2012
  2. STLcRash

    STLcRash New Member

    Joined:
    4 Jun 2009
    Messages:
    39
    Likes Received:
    0
    Reputations:
    0
    Code:
    bufer := HTTP.post('http://login.vk.com/?act=login',Data);
    И так пробовал
    Code:
    bufer := HTTP.post('https://login.vk.com/?act=login',Data);
    Результат один. Пустое мемо. (HTMLCode)
     
  3. Jingo Bo

    Jingo Bo Member

    Joined:
    25 Oct 2009
    Messages:
    368
    Likes Received:
    51
    Reputations:
    7
    Есть вариант, что в Delphi XE опять накосячили с ZLib, попробуй для начала убрать строку :
    Code:
    HTTP.Request.AcceptEncoding:='gzip, deflate';
    Если попрет - выпиливать Indy(полностью, во всех директориях), скачивать последнюю стабильную версию Indy и ставить. Процесс этот крайне мерзкий, особенно удаление, прописывание нужных директорий и установка пакетов в нужной последовательности.

    Я когда перешел на Delphi XE2(причем с обновлением аж до 4.1) - проблема в Indy не была решена.

    ip_h разве не должен парситься?
     
  4. Белый Ворон

    Joined:
    7 Oct 2012
    Messages:
    46
    Likes Received:
    3
    Reputations:
    0
    вы, дельфисты, хватит уже создавать одни и те же темы.
    приводи вывод в байтах, а не в "Memo". а там, уже можно будет посмотреть, то ли ответ корявый, то ли контролы/либы такие.