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

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

Я хочу знать, как я могу получить URL для загрузки (фактической загрузки) с этих сайтов или, по крайней мере, как эти сайты скрывают эту информацию (и где), чтобы я мог как-то это получить...

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

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

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

1 ответ

Решение

Начнем с конца вашего вопроса:

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

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

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

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

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

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

По моему опыту, это также будет поддерживать куки (т.е. UIWebView а также ASIHTTP поделюсь ими), но YMAMV.

Другие вопросы по тегам