Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2017, 17:30   #1
pas2
Пользователь
 
Регистрация: 02.01.2016
Сообщений: 42
Сообщение Получить ссылку на видео из фрейма

Здравствуйте, подскажите как получить ссылку на видео, если она не видна через исходный код страницы. Через videodownloadhelper ссылки отображаются на ура, а вот как через делфу сделать такое... если быть точнее ссылка на видео находится -->> страница.html--> в iframe.php--> http://s.video.mp4. При
Код:
Memo1.Lines.Append(IdHTTP1.Get(Edit1.Text));
Отображаю содержимое странице, в Мемо через POS ищу фрейм (<iframe width="660px" height="400px" frameborder="0" src="http://url/video.php) пытаюсь сделать на него запрос выдает пустые строки. В этом фрейме хранится ссылка на видео. Если смотреть в браузере исходный код, а потом перейти по этому фрейму вручную то исходный код отображается

Последний раз редактировалось pas2; 30.03.2017 в 18:59.
pas2 вне форума Ответить с цитированием
Старый 30.03.2017, 22:35   #2
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Напишите ссылку страницы на которой пытаетесь получить ресурс видео чтобы проверить.

Последний раз редактировалось Aliens_wolfs; 31.03.2017 в 06:56.
Aliens_wolfs вне форума Ответить с цитированием
Старый 31.03.2017, 12:02   #3
pas2
Пользователь
 
Регистрация: 02.01.2016
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
Напишите ссылку страницы на которой пытаетесь получить ресурс видео чтобы проверить.
http://ahmed9zg.beget.tech/ok-tv/ntv.php
pas2 вне форума Ответить с цитированием
Старый 31.03.2017, 12:55   #4
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Покажите код как запрос делаете на этот ресурс.

Последний раз редактировалось Aliens_wolfs; 31.03.2017 в 13:00.
Aliens_wolfs вне форума Ответить с цитированием
Старый 31.03.2017, 18:57   #5
pas2
Пользователь
 
Регистрация: 02.01.2016
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
Покажите код как запрос делаете на этот ресурс.
Код:
Memo1.Lines.Append(IdHTTP1.Get(http://ahmed9zg.beget.tech/ok-tv/ntv.php));
pas2 вне форума Ответить с цитированием
Старый 31.03.2017, 19:06   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

и? если вы хотите получить содержимое ифрейма, то надо делать запрос по его адресу.

Если этот второй запрос не работает, то значит вы делаете что-то не так, не поставили какой-то заголовок (Referer, ...), не получили куки и т.п.
Берите HTTP снифер типа Fiddler или DevTools в браузере (кнопка F12 в хроме/фф/IE), смотрите запросы и повторяйте их.

Если слишком сложно/на сайте много скриптов, то можно использоват полноценный браузер вместо отправки запросов вручную. TWebBrowser, CEF (TChromium), PhantomJS, Selenium, ...

Вообще Дельфи не лучший инструмент для подобных задач.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 31.03.2017, 21:45   #7
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Цитата:
Сообщение от Alex11223
Если слишком сложно/на сайте много скриптов, то можно использовать полноценный браузер вместо отправки запросов вручную. TWebBrowser, CEF (TChromium), PhantomJS, Selenium, ...
Вот код через TWebBrowser
Код:
uses 
......SHDocVw;

//Функция ожидания полной загрузки страницы
procedure WaitForBrowser(WB: TWebbrowser);
begin
  while (WB.ReadyState <> READYSTATE_COMPLETE)
    and not (Application.Terminated) do
  begin
    Application.ProcessMessages;
    Sleep(0);
  end;
end;

//Функция получения страницы
function WebBrowserExtractDoc(Url: String): String;
var
WebBrowser: TWebBrowser;
DocStream: TStringStream;
begin
WebBrowser:= TWebBrowser.Create(nil);
DocStream:= TStringStream.Create('');
try
   WebBrowser.ParentWindow:= application.Handle;
   WebBrowser.Hide;
   WebBrowser.Navigate(Url);
   WaitforBrowser(WebBrowser);
   (WebBrowser.Document as IPersistStreamInit).Save(TStreamAdapter.Create(DocStream), false);
   DocStream.Position:= 0;
   with TStringList.Create do
   begin
   LoadFromStream(DocStream);
   Result:= Text;
   free;
   end;
finally
WebBrowser.free;
DocStream.free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Lines.Add(WebBrowserExtractDoc(WebBrowserExtractDoc('http://ahmed9zg.beget.tech/ok-tv/ntv.php'));
end;
Можно еще через WinInet запрос сделать.
Да и вообще ссылка ваша вроде как не рабочая.

Последний раз редактировалось Aliens_wolfs; 31.03.2017 в 22:00.
Aliens_wolfs вне форума Ответить с цитированием
Старый 01.04.2017, 03:37   #8
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
Да и вообще ссылка ваша вроде как не рабочая.
Она не то, чтобы нерабочая, там просто пустышка, даже код страницы не посмотреть.
Вчера смотрела, там было типа "Saved from ...", а сегодня вообще пусто...
kropotkina-alice вне форума Ответить с цитированием
Старый 01.04.2017, 09:54   #9
pas2
Пользователь
 
Регистрация: 02.01.2016
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
Да и вообще ссылка ваша вроде как не рабочая.
вот исходный адрес если в браузере посмотреть исходный код и перейти по этой ссылке то все работает
pas2 вне форума Ответить с цитированием
Старый 01.04.2017, 12:15   #10
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Цитата:
Сообщение от pas2
вот исходный адрес если в браузере посмотреть исходный код и перейти по этой ссылке то все работает
В общем нет возможности проверить
Ответ
Изображения
Тип файла: jpg Ответ.jpg (18.2 Кб, 58 просмотров)

Последний раз редактировалось Aliens_wolfs; 01.04.2017 в 13:06.
Aliens_wolfs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить ссылку на ячейки blacklight Microsoft Office Excel 5 23.09.2009 14:32
Получить ссылку на видео файл SunKnight Свободное общение 6 11.06.2009 02:46
как получить ProgressChange отдельного фрейма? alex1245 Работа с сетью в Delphi 0 22.03.2009 03:20
Help!!! Как в Delphi сделать ссылку на видео? Vredinka Помощь студентам 1 05.03.2008 13:34