Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.10.2012, 18:19
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
Печаль Замучил вопрос про загрузку

Совсем запутался с задачей.

Суть вот в чем:

1) Есть сайт на котором размещен различный контент для загрузки.
2) Имеется чужой исходник менеджера загрузки через indy.
3) На сайте стоит примитивный способ ограничения скачки этого самого контента (тобишь стоит таймер на 60 секунд перед началом скачивания того или иного файла). Почему примитивный - потому, что в исходном коде каждой странички, на одной и той же строке, есть ссылка на нужный файл, скопировав которую, можно скачать файл без 60 секунд ожидания.

Теперь вопросы.
Как научить менеджер загрузки, при заходе по адресу именно данного сайта, находить нужную строку, что скопировать url из неё в буфер обмена.

И еще.... каким вообще способом известные всем менеджеры загрузки, перехватываю ссылку на скачивание из браузеров? Внедряя свои плагины в них или ставят хуки... как же??? Весьма озадачен данным вопросом, не могу спокойно уснуть уже которую ночь, размышляя как это воплотить.
P.S. Никакой инфы по этому вопросу уже долго не могу найти...
Ответить с цитированием
  #2  
Старый 29.10.2012, 18:28
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от alikoder
Как научить менеджер загрузки, при заходе по адресу именно данного сайта, находить нужную строку, что скопировать url из неё в буфер обмена.
Сначала делаешь проверку на имя хоста (сайта). Если совпадает делаешь разбор (парсинг) скачанного HTML-файла.
Цитата:
Сообщение от alikoder
И еще.... каким вообще способом известные всем менеджеры загрузки, перехватываю ссылку на скачивание из браузеров? Внедряя свои плагины в них или ставят хуки... как же???
Обычно внедряют свои плагины в браузеры.
Ответить с цитированием
  #3  
Старый 29.10.2012, 18:37
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Сначала делаешь проверку на имя хоста (сайта). Если совпадает делаешь разбор (парсинг) скачанного HTML-файла.

Что то не пойму, нужно все время скачивать каждый html файл?

Ммм а насчет плагинов именно для перехвата ссылки, есть какая нибудь информация?
Ответить с цитированием
  #4  
Старый 30.10.2012, 13:16
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от alikoder
Что то не пойму, нужно все время скачивать каждый html файл?
А ты хочешь имея только исходный URL и не обращаясь к интернету из него получить прямую ссылку на нужный контент?
Цитата:
Сообщение от alikoder
Ммм а насчет плагинов именно для перехвата ссылки, есть какая нибудь информация?
Нет. Плагины для браузеров я не писал - не было нужды. Но если бы понадобилось, то я начал бы с >>google<<.
Ответить с цитированием
  #5  
Старый 30.10.2012, 13:30
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Берешь Cygwin, там есть утилиты для работы с сетью, типа wget/curl, так же есть разнородные утилиты для работы с регулярками, пишешь шелл-скрипт, далее запускаешь и радуешься (с).
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #6  
Старый 30.10.2012, 15:04
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

M.A.D.M.A.N. Спасибо попробую!

poli-smen а насчет парсинга, как парсить страницу если нужна только строчка с ссылкой на файл, и поместить её в edit.
Просто я вообще понять не могу этот парсинг, примеры искал, все не то... или может плохо искал...

Код HTML:
<script> function linkclick() { var so = new SWFObject("client_adv_600x400-14.swf", "mymovie", "600", "400", "8", "#336699"); so.addVariable("timeWait", 5); so.addVariable("fileLink", "http://www14.test.ru/smEdg5QNU/439043/1%2F22%5D.avi"); so.addParam("wmode", "transparent"); so.write("linkmodal"); $('#linkmodal').modal(); } </script>
Ответить с цитированием
  #7  
Старый 30.10.2012, 15:44
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

ууууууу что то почитал и еще больше запутался
Ответить с цитированием
  #8  
Старый 30.10.2012, 15:50
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Радость

Pos для "fileLink"
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #9  
Старый 30.10.2012, 16:50
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

нумлок - я понимаю дружище, но как реализовать не врубаюсь, смотрел несколько примеров в сети, пробовал переделывать для себя, на этом все.... ну не шарю я в этом парсинге, можешь направить меня на путь истинный?
Ответить с цитированием
  #10  
Старый 30.10.2012, 18:33
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от alikoder
нумлок - я понимаю дружище, но как реализовать не врубаюсь, смотрел несколько примеров в сети, пробовал переделывать для себя, на этом все.... ну не шарю я в этом парсинге, можешь направить меня на путь истинный?
Если в Memo1 вставить html-текст, то по нажатию кнопки Button1 из этого html-текста будет извлечена ссылка (URL) в Edit1:
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  cFindText: string = 'so.addVariable("fileLink", "';
var
  p1, p2: Integer;
  Html, Url: string;
begin
  Html := Memo1.Lines.Text;
  Url := '';

  p1 := Pos(cFindText, Html);
  if p1 > 0 then
  begin
    Inc(p1, Length(cFindText));
    p2 := PosEx('"', Html, p1);
    if p2 > 0 then
    begin
      Url := Copy(Html, p1, p2 - p1);
      if not AnsiStartsText('http://', Url) then Url := '';
    end;
  end;

  Edit1.Text := Url;
  if Url = '' then MessageDlg('Ссылка не найдена', mtError, [mbOK], 0);
end;

Также можно воспользоваться регулярными выражениями:
  1. Текст с высоты птичьего полета или Регулярные выражения
  2. Использование VBScript RegExp в Delphi
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
alikoder (31.10.2012)
  #11  
Старый 31.10.2012, 08:39
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

спасибо добрый человек!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:30.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter