[Delphi]Приглашение в группы вконтакте

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by f0rward, 17 Jan 2010.

  1. f0rward

    f0rward New Member

    Joined:
    26 Oct 2008
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Вопрос по приглагению в группы. Авторизация проходит успешно кукис получаю.
    Отсылаю вот это:
    Code:
    POST /friends_ajax.php HTTP/1.1
    Accept: */*
    Accept-Language: ru
    Referer: http://vkontakte.ru/club1363
    x-requested-with: XMLHttpRequest
    Content-Type: application/x-www-form-urlencoded
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14,52; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Host: vkontakte.ru
    Content-Length: 20
    Connection: Keep-Alive
    Cache-Control: no-cache
    Cookie: remixchk=5; remixsid=XXX
    
    from=groups&gid=1363
    Откуда получаю список друзей с их ID.
    А вот дальше сложнее:
    Code:
    POST /groups_ajax.php?act=a_invite_friends HTTP/1.1
    Accept: */*
    Accept-Language: ru
    Referer: http://vkontakte.ru/club1363
    x-requested-with: XMLHttpRequest
    Content-Type: application/x-www-form-urlencoded
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14,52; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Host: vkontakte.ru
    Content-Length: 60
    Connection: Keep-Alive
    Cache-Control: no-cache
    Cookie: remixchk=5; remixsid=XXX
    
    friends=55482684%2C18858581&gid=1363&[COLOR=Red]hash=ff4f53ae9498bf9a66[/COLOR]
    Переменную hash я ни на странице группы, ни в ответе первого запроса не обнаружил.

    Помогите plz.
     
  2. AquaKlaster

    AquaKlaster Active Member

    Joined:
    9 Mar 2009
    Messages:
    0
    Likes Received:
    204
    Reputations:
    23
    хеш есть на странице группы, но его нужно декодировать
     
    1 person likes this.
  3. Ratt1e

    Ratt1e Banned

    Joined:
    20 Jan 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    хэш генерируется ява-скриптом на странице, пытаться расшифровать бессмысленно, т.к. скрипт постоянно меняется, проще выполнять этот js и подставлять полученный хэш
     
  4. Spy2ex

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

    Joined:
    20 Sep 2008
    Messages:
    32
    Likes Received:
    15
    Reputations:
    1
    Недавно работал.
    С++ Builder
    Code:
    String decodeHash (String sHash)
    {
    String sFirst = sHash.SubString(5,13);
    String sNextPart = sHash.SubString(21,5);
    
    String sSecond;
    int iLength = sFirst.Length();
    int i;
    
    for (int i=0; i < sFirst.Length(); i++)
    {
    	sSecond += sFirst[iLength--];
    }
    
    String sThird;
    int iLength2 = sNextPart.Length();
    int a;
    
    for (a = 0; a < sNextPart.Length(); a++)
    {
    	sThird += sNextPart[iLength2--];
    }
    
    String sDecodehash;
    sDecodehash = sSecond+sThird;
    
    return sDecodehash;
    }
    
     
  5. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    575
    Likes Received:
    48
    Reputations:
    0
    вот на на Delphi писал когда то)))

    Code:
    function DecChas(chas: string): string;
    var
     Decchas : string;
     str : string;
     I : Integer;
     Len : integer;
    begin
    
     str := Copy(chas, 6, 12);
     Len := Length(str);
    
     For I := 0 To Length(str) -1 do
     begin
      Decchas := Decchas + str[len];
      Inc(len, -1);
     end;
    
     str := Copy(chas, 21, Length(chas) -5);
     str := str + Copy(chas, 5, 1);
    
     Len := Length(str);
    
     For I := 0 To Length(str) -1 do
     begin
       Decchas := Decchas + str[len];
       Inc(len, -1);
     end;
    
     Result := Decchas;
    end;