我正在使用目标C为iPhone编写一个下载管理器。我正在使用ASIHTTP framework并且它工作得很好。但我的问题是我无法从文件共享网站下载,如filesonic,rapidshare,hotfile等。
我想知道如何从这些网站下载(实际下载)网址,或者至少这些网站是如何隐藏此信息的(以及在哪里),所以我可以以某种方式获得...
是否有任何开源库或框架可以帮助我解决这个问题? firefox或其他桌面浏览器如何获得此链接?
非常感谢任何帮助!
更新1:我不想绕过他们的广告和收入来源。几乎所有的文件共享公司都提供低带宽的免费下载,我只想使用该服务。现在有许多适用于iPhone的下载管理器,如“Downloads Lite”。我只是想建立一个类似的功能。
答案 0 :(得分:2)
让我们从问题的结尾开始:
firefox或其他桌面浏览器如何获得此链接?
AFAIK,下载管理器拦截将在浏览器中启动并自行管理的下载。因此,链接以及所有其他要求(cookie等)以便实际下载,来自浏览器。
我认为你可以采用相同的方法:
使用UIWebView
浏览您要下载的内容;
通过在您的网络视图委托中定义– webView:shouldStartLoadWithRequest:navigationType:
来拦截网页或下载的任何更改;
如果是下载某些受支持的内容,请从NO
返回webView:shouldStartLoadWithRequest:navigationType
(以便UIWebView
不做任何事情),并将地址传递给您自定义下载管理器进行实际下载。
根据我的经验,这也将保留Cookie(即UIWebView
和ASIHTTP
将共享它们),但是YMAMV。