Как написать свой собственный менеджер загрузок, используя Objective C для устройств iOS - PullRequest
1 голос
/ 24 ноября 2011

Я пишу менеджер загрузок для iPhone, используя цель C. Я использую ASIHTTP framework , и он отлично работает.Но моя проблема в том, что я не могу загрузить файлы с таких сайтов, как filesonic, rapidshare, hotfile и т.д.эти сайты скрывают эту информацию (и где), так что я могу как-то ее получить ...

Есть ли какая-нибудь библиотека с открытым исходным кодом или фреймворк, чтобы помочь мне с этим?Как Firefox или другой браузер на рабочем столе получают эту ссылку?

Любая помощь будет высоко ценится!

Обновление 1: я не хочу обойти их потоки рекламы и доходов.Почти все компании по обмену файлами также предоставляют бесплатные загрузки с низкой пропускной способностью, я только хочу использовать эту услугу.для iPhone теперь доступно множество менеджеров закачек, таких как «Downloads Lite».Я просто хочу создать похожую функциональность.

1 Ответ

2 голосов
/ 24 ноября 2011

Давайте начнем с конца вашего вопроса:

Как Firefox или другой браузер для настольных компьютеров получают эту ссылку?

AFAIK, менеджеры загрузок перехватывают загрузки, которые должны запускаться в браузере, и сами управляют ими. Таким образом, ссылка и все остальные требования (файлы cookie и т. Д.), Необходимые для загрузки, происходят из браузера.

Я думаю, вы могли бы использовать тот же подход:

  1. используйте UIWebView для просмотра содержимого, которое вы хотите загрузить;

  2. перехватить любое изменение страницы или загрузить, определив – webView:shouldStartLoadWithRequest:navigationType: в своем делегате веб-просмотра;

  3. в случае загрузки какого-либо поддерживаемого содержимого верните NO из webView:shouldStartLoadWithRequest:navigationType (чтобы UIWebView ничего не делал) и передайте адрес в свой собственный менеджер загрузок, чтобы фактическая загрузка.

По моему опыту, это также сохранит файлы cookie (то есть UIWebView и ASIHTTP поделятся ими), но YMAMV.

...