Нужна помощь!

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by HakaR, 27 Jul 2009.

  1. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Кто может подсказать, как написать прогу для скачивание музыки с vkontakte.ru? Заранее спасибо! :confused:
     
  2. ZdezBilYa

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

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    Авторизируешься на сайте, переходишь на нужную страницу, находишь ссылку на файл, скачиваешь файл
     
  3. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Ясно! А можно это как нибудь в коде показать?
     
    1 person likes this.
  4. ZdezBilYa

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

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    Может сразу написать прогу?)))
    Почитай про Delphi, про POST и GET запросы. Авторизация - это POST-запрос с параметрами логина и пароля. Переход на страницу - GET-запрос. Находишь ссылку анализом исходного кода страницы (парсинг). Сохранение файла на комп - тоже какая-то функция в Delphi.
     
    1 person likes this.
  5. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Спсб, уже разобрался!))
     
  6. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    И ещё можно вопрос, как написать что либо в адресную строку Internet Exploler'а?
     
    #6 HakaR, 27 Jul 2009
    Last edited: 27 Jul 2009
  7. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Програмно? Это называется "запрос". Юзай поиск.
     
  8. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Да, програмно! Может обьясните как это осуществить на Delphi?

    Или хотя бы подкиньте статейку по теме! :)
     
    2 people like this.
  9. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    FindWindow
    FindWindowEx
    SetWindowText
    SendMessage
     
  10. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Спасибо!
     
    1 person likes this.
  11. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    procedure TForm1.Button1Click(Sender: TObject);
    var
    ie: hwnd;
    begin
    ie:=FindWindow('Microsoft Internet Explorer', nil);
    SetWindowText(ie, '123');
    end;

    Не могу понять чего еще не хватает!? :mad:
     
  12. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    /thread130409.html
     
    _________________________
  13. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Во-первых, окно лучше искать не по заголовку, а по классу (IEFrame на 6м ИЕ)
    Во-вторых - ты ищешь окно и меняешь заголовок окна, а тебе нужно найти дочернее окно (Edit) и уже там изменить текст
     
  14. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Сцука, я понимаю что мой код полная нелепость, но все же как передать запрос в адресную строку Internet Explorer'a и как её вообще найти?
     
  15. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Теперь понятно... А можете для наглядности код скинуть? Оч надо:(
     
  16. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    в общем щас стало интересно и я посмотрел как же там аудио формирутеся ссылка...
    кнопка play иммет такой код
    HTML:
    <img class="playimg" onclick="return operate(64058280,4268,5390687,'b4150ffe9c1e',288);" id="imgbutton64058280" nosorthandle="true" src="/images/play.gif"/>
    видно что она при клике обращается к функции operate которая лежит тут

    посмотрев функцию мы видим что она разберает входящие параметры на такие составляющие
    Code:
    var p = "id,host,user,file,dur,wall".split(',');
    ... я не стал долго мучатся а помотрел какие ссылки формирует один из популярных онлайн сервисов по скачиванию flv видео и аудио.

    ссылка получилась такая
    http://cs4268.vkontakte.ru/u5390687/audio/b4150ffe9c1e.mp3

    что значит
    operate(id,host,user,file,dur) => http://cs[host].vkontakte.ru/u[user]/audio/[file].mp3

    твое дело составить регулярное выражение которое будет формировать ссылку по указаному алгоритму. такое можно реализовать даже на javascript, проще всего переписть функцию operate (но как ее вставить в страницу другой вопрос хехе)

    а если ты собрался реализовывать это программно лучше придумай плагин для firefox или виджет для оперы...
     
    _________________________
  17. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    В том и дело, я по гуглил и нашёл скрипт который после вставки в адресную строку браузера и при нажатие кнопки 'Play' видемо генерирует ссылку для скачивания и когда мы переходим по ссылке, то начинается скачивание. А вот и сам скрипт:

    javascript:function operate(konfuze,loves,you,all_,xP){you=you.toString(10);while(you.length<5){you='0'+you;}document.getElementById('audio'+konfuze).innerHTML='<div><a href="http://cs'+loves+'.vkontakte.'+'ru/u'+you+'/audio/'+all_+'.mp3">Загрузить: '+document.getElementById('performer'+konfuze).innerHTML+'- '+document.getElementById('title'+konfuze).innerHTML+'</a></div><br />';}

    Теперь я хочу сделать программку на основе этого скрипта, но х.з. как...
    А не подскажешь как написать плагин для Opera и что для этого нужно?:)
     
  18. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    winexec('iexplore.exe mylink', SW_SHOW); и будет запущен ослик с твоим линком.
    Все способы паливные антивирями, Особенно на SetWindowText для IE любят хрюкать поросята дяди Касперского.
     
  19. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Ладно и за это спасибо, теперь надо думать как всё это организовать в моей программе...
     
  20. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    ну ты нашел вариант переписи функции operate прикольный кстати и работающий. ява скрипт практически идеальный вариант для такого рода задачек... правда неможно не удобно копировать код в адресную строку но для обозревателя опера можно сделать настройку для странице которая будет подгружать твои скрипты автоматически...

    Некоторые полезные туториалы (доки) по созданию расширений для Firefox:
    http://www.borngeek.com/firefox/toolbar-tutorial/
    https://developer.mozilla.org/en/Extensions
    https://developer.mozilla.org/en/Plugins

    http://black-zorro.com/mediawiki/Виджеты_для_оперы_часть_1
     
    _________________________