Загрузка фото Вконтакте

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by IgrikX, 7 May 2010.

  1. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    К в Builder C++ или Delphy загрузить аватарку в профиль.
    Есть у кого кусок кода или какие компонеты использовать?
     
  2. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    TIdHTTP. Сниффер. :D
     
  3. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    557
    Likes Received:
    45
    Reputations:
    0
    вот как в Delphy я хз, а в Delphi могу подсказать)))) :D
     
    1 person likes this.
  4. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    Ну я снифером снифал, не понимаю как с компа её взять??
     
  5. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    tidmultipartformdatastream (AddFile) наверн... :)
    Типо так:
    PHP:
    data := Tidmultipartformdatastream.Create;
    data.AddFile('file''filename.gif''image/gif');
     
    #5 HakaR, 7 May 2010
    Last edited: 7 May 2010
  6. AquaKlaster

    AquaKlaster Active Member

    Joined:
    9 Mar 2009
    Messages:
    0
    Likes Received:
    204
    Reputations:
    23
    IdHTTP+IdMultiPartFormData(для отправки формы) в руки.
     
  7. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    а как это к post запросу прикрутить

    try{
    post_data_8->Add("server=9749&hash="+foto_hash+"&photo=2ae214cx%3A001&mid="+foto_mid+"&message_code=2");
    otv = IdHTTP1->Post("http://vkontakte.ru/profileEdit.php?page=done_photo",post_data_8);
    }catch(...){}
     
  8. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    557
    Likes Received:
    45
    Reputations:
    0
    все просто))
    Code:
    data := Tidmultipartformdatastream.Create;
    data.AddFile('file', 'filename.gif', 'image/gif');  
    idHTTP.post('http://vkontakte.ru/upload.php', data);
    
    снифером уточни запросы)) там хэши всякие и тд))
     
    #8 RedFern.89, 8 May 2010
    Last edited: 12 May 2010
    1 person likes this.
  9. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    idCookieManager1.AddCookie('remixsid=***;path=/;','vkontakte.ru');
    data := Tidmultipartformdatastream.Create;
    data.AddFile('file', '1.jpg', 'image/jpeg');
    s:=idHTTP1.post('http://cs9622.vkontakte.ru/upload.php?act=profile&mid=***&hash=f524524a22e6641c4c2d0023dab6f86c&rhash=d666c2002802138cc371369ef236b306&vk=', data);

    В ответ отдаёт "Фотография слишком велика" хоть и фото весит 200кб. Хеши верны. В чём проблемс :) ?



    Разобрался сам :)
    Code:
    idCookieManager1.AddCookie('remixsid=*1ec1df087a2fa2857eab587;path=/;','vkontakte.ru');
    data := Tidmultipartformdatastream.Create;
    data.AddFile('file', '1.jpg', 'image/jpeg');
    idHTTP1.post('http://cs4527.vkontakte.ru/upload.php?act=profile&mid=*****&hash=7980373c21aa30ea94652874de915468&rhash=724b6e429304a7975fa3f173156d266c&vk=', data);
    s:=idhttp1.Get('http://vkontakte.ru/profileEdit.php?page=done_photo&mid=******&server=4527&photo=b36d849x:001&crop=0,0,173&hash=0c1d92acb01617d8528ea65e96e38768&message_code=2&callback=1');
     
    #9 090808, 12 May 2010
    Last edited: 12 May 2010
  10. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    557
    Likes Received:
    45
    Reputations:
    0
    090808, а ты адрес cs4527.vkontakte.ru парсишь с upload.php?
     
  11. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    serv:=Pars('<form method="post" action="http://cs',profile,'.vkontakte.ru/upload.php'); :)
     
  12. good_man

    good_man New Member

    Joined:
    24 May 2010
    Messages:
    112
    Likes Received:
    3
    Reputations:
    -2
    ребят, подскажите плиз откуда взять

    параметр: photo=06f7c95x ? нашел топик через гугл :) не пойму откуда его выковырить )

    upd: понял откуда.

    а кто нибудь пробовал загрузить фотку не с едит профайл а прям с главной?
     
    #12 good_man, 18 Sep 2010
    Last edited: 18 Sep 2010
  13. good_man

    good_man New Member

    Joined:
    24 May 2010
    Messages:
    112
    Likes Received:
    3
    Reputations:
    -2
    ребят, подскажите плиз почему мне контакт возвращает пустые параметры:

    http://vkontakte.ru/profileEdit.php?page=done_photo&mid=983832**&server=10248&photo=&crop=&hash=8d6298b01ea3a39584021f98ee523708&message_code=0&callback=

    не получается фотку чето загрузить )
    код:

    TIdMultiPartFormDataStream *multi = new TIdMultiPartFormDataStream;
    //multi->AddFormField("name", "subm");
    //multi->AddFormField("name", "photo"); пробывал типа добавить эти параметры - непомогло
    mu lti->AddFile("filename", "1.jpg", "image/jpeg");

    AnsiString load;
    try{
    load=http->Post(upload_url, multi);
    }catch(...){}
    delete multi;
    Form1->Memo1->Text=http->Response->Location;
    try{
    http->Get(http->Response->Location);
    }catch(...){}