Как написать свой собственный менеджер загрузок, используя Objective C для устройств iOS
Я пишу менеджер загрузок для iPhone, используя цель C. Я использую ASIHTTP framework, и он отлично работает. Но моя проблема в том, что я не могу загрузить файлы с таких сайтов, как filesonic, rapidshare, hotfile и т. Д.
Я хочу знать, как я могу получить URL для загрузки (фактической загрузки) с этих сайтов или, по крайней мере, как эти сайты скрывают эту информацию (и где), чтобы я мог как-то это получить...
Есть ли какая-нибудь библиотека с открытым исходным кодом или фреймворк, чтобы помочь мне с этим? Как Firefox или другой настольный браузер получают эту ссылку?
Любая помощь будет высоко ценится!
Обновление 1: я не хочу обойти их рекламные и доходные потоки. Почти все компании по обмену файлами также предоставляют бесплатные загрузки с низкой пропускной способностью, я только хочу использовать эту услугу. для iPhone теперь доступно множество менеджеров закачек, например "Downloads Lite". Я просто хочу создать подобный функционал.
1 ответ
Начнем с конца вашего вопроса:
Как Firefox или другой настольный браузер получают эту ссылку?
AFAIK, менеджеры загрузок перехватывает загрузки, которые должны запускаться в браузере, и сами управляют ими. Таким образом, ссылка и все остальные требования (файлы cookie и т. Д.), Необходимые для загрузки, происходят из браузера.
Я думаю, что вы могли бы использовать тот же подход:
использовать
UIWebView
просматривать содержимое, которое вы хотите загрузить;перехватить любое изменение страницы или загрузить, определив
– webView:shouldStartLoadWithRequest:navigationType:
в вашем веб-представлении делегат;если это загрузка какого-либо поддерживаемого контента, верните
NO
отwebView:shouldStartLoadWithRequest:navigationType
(таким образомUIWebView
ничего не делает), и передайте адрес в пользовательский менеджер загрузок, чтобы выполнить фактическую загрузку.
По моему опыту, это также будет поддерживать куки (т.е. UIWebView
а также ASIHTTP
поделюсь ими), но YMAMV.