Delphi.ajax как вытащить

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by 666da, 29 Apr 2014.

  1. 666da

    666da New Member

    Joined:
    10 Jul 2013
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Delphi.ajax как вытащить два параметра mna и mnb

    Доброго времени суток форумчани,В Delphi в моем мире пытаюсь отправить 'мне нравится' на определенное фото,ну авторизовываюсь и т.д
    ну обычные параметры пост передаю что в снифере а в ответ '[ajax.error]',а там оказывается mna и mnb генерируются походу сервером,отправлять их надо такие какие выдал серв,вот кто знает как вытянуть два эти параметра?пользуюсь Indy,Deplhi Xe2
     
    #1 666da, 29 Apr 2014
    Last edited: 2 May 2014
  2. 666da

    666da New Member

    Joined:
    10 Jul 2013
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Проблема решена,,запрашиваю Get на эту страницу и вытягиваю ручками


    PHP:
    procedure TForm2.Button1Click(SenderTObject);
    var
    i,l,oInteger;

    v,j,j2,j3:string;
    mna,mnb:string;
    begin
    j
    :=edit1.Text;
      
    v:=copy(j,pos('http://my.mail.ru/',j)+length('http://my.mail.ru/'),length(j));
     
    v:=copy(v,pos('/',v)+1,length(v));
     
    delete(v,pos('/',v),length(v)) ;
      
    //-----------------------------------

     
    j2:=copy(j,pos('myphoto/',j)+8,length(j));
     
    delete(j2,pos('.',j2),length(j2)) ;
     
    //-------------------------------------

     
    j3:=copy(j,pos('my.mail.ru/',j)+11,length(j));
     
    delete(j3,pos('/',j3),length(j3));
     
    //--------------------------------------




      
    sl.Add('page=http://my.mail.ru/');
          
    sl.Add('Login=');
          
    sl.Add('Domain=');
          
    sl.Add('Password=');
        try
            
    Form2.IdHTTP1.Post('http://e.mail.ru/cgi-bin/auth'sl);
            
    //memo1.Lines.SaveToFile('D:\Users\komp\Desktop\gud.html');
          
    except
            sl
    .Free;

            
    ShowMessage('Не удалось авторизироваться');
          
    end;
            
    memo1.Text:= Form2.IdHTTP1.get('http://my.mail.ru/list/dosymov2010/photo/_myphoto/61.html');
           
    memo1.Text:=copy(memo1.Text,pos('<script type="text/plain" data-mru-fragment="client-server">',memo1.Text),200);
    mna:=copy(memo1.Text,pos('"mna":',memo1.Text)+8,length(memo1.Text));
    delete(mna,pos('",',mna),length(mna));


    mnb:=copy(memo1.Text,pos('"mnb":',memo1.Text)+8,length(memo1.Text));
    delete(mnb,pos('",',mnb),length(mnb));


    foto.add('ajax_call=1');
    foto.add('func_name=likes.like');
    foto.add('mna='+mna);
    foto.add('mnb='+mnb);
    foto.add('encoding=windows-1251');
    foto.add('arg_type=photo');
    foto.add('arg_item='+j2);
    foto.add('arg_owner=220466065');
    foto.add('arg_like=1');
         
    memo2.Text:=    Form2.IdHTTP1.Post('http://my.mail.ru/cgi-bin/my/ajax?user='+v+'@'+j3+'.ru',foto);
         
     
    #2 666da, 30 Apr 2014
    Last edited: 2 May 2014
  3. 666da

    666da New Member

    Joined:
    10 Jul 2013
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    мм нет не решена проблема, размечтался я ,пытался на микропост такое действие сделать но нихера не проходит
    теже по сути параметры парсю но хер только на фотки проходят,sos помогите как с этой канителью обращаться
     
    #3 666da, 30 Apr 2014
    Last edited: 1 May 2014
  4. muip

    muip New Member

    Joined:
    1 Sep 2011
    Messages:
    45
    Likes Received:
    4
    Reputations:
    0
    Сниффь пакеты, который твой софт отправляет и смотри уже в чем проблема. Может cookie там не отправляешь или может значения твоих переменных mnb, mna на самом деле пусты, несмотря на то, что ты их якобы парсишь.
     
  5. 666da

    666da New Member

    Joined:
    10 Jul 2013
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    да разобрался, да нет почему "якобы парсю",idcookiemanager сам печеньки передает,сначала обращаюсь get-запросом к ajax -скрипту а из ответа уже нужные параметры достаю