【发布时间】:2011-10-16 19:26:57
【问题描述】:
我能够为 iCloud 文件生成公共 URL。例如https://www.icloud.com/documents/dl/?p=3&t=BAKsXkcDP-p8sdTS8NgBLWRQxE281oe4hogA
从浏览器访问这样的 URL,我会看到一个登录页面,然后文件会自动下载。很好。
但是,我希望能够从我的 iOS 应用程序(使用 NSURLConnection)下载此文件。我怎样才能做到这一点?也许... a) 处理 html 标头以某种方式确定直接 URL? b)拦截触发浏览器下载的重定向/刷新? c) 以某种方式模仿浏览器来触发下载?
谢谢
PS。请给我白痴的答案-我对html等一无所知。
这是我为上面的间接 URL 得到的 html 响应:
var SC_benchmarkPreloadEvents={headStart:new Date().getTime()}; -->iCloud - 正在加载 ...window.SC=window.SC||{MODULE_INFO:{},LAZY_INSTANTIATION:{}};SC.buildMode="production"; SC.buildNumber="1FCS22.32292";SC.buildLocale="en-us";String.preferredLanguage="en-us";window.SC=window.SC||{MODULE_INFO:{},LAZY_INSTANTIATION:{}} ;SC._detectBrowser=function(userAgent,language){var 版本,webkitVersion,browser={}; userAgent=(userAgent||navigator.userAgent).toLowerCase();语言=语言||navigator.language||navigator.browserLanguage; 版本=browser.version=(userAgent.match(/.*(?:rv|chrome|webkit|opera|ie)/: ([ );]|$)/)||[])[1]; webkitVersion=(userAgent.match(/webkit/(.+?) /)||[])[1];browser.windows=browser.isWindows=!!/windows/.test(userAgent); browser.mac=browser.isMac=!!/macintosh/.test(userAgent)||(/mac os x/.test(userAgent)&&!/like mac os x/.test(userAgent)); browser.lion=browser.isLion=!!(/mac os x 10_7/.test(userAgent)&&!/like mac os x 10_7/.test(userAgent)); browser.iPhone=browser.isiPhone=!!/iphone/.test(userAgent);browser.iPod=browser.isiPod=!!/ipod/.test(userAgent); browser.iPad=browser.isiPad=!!/ipad/.test(userAgent);browser.iOS=browser.isiOS=browser.iPhone||browser.iPod||browser.iPad; browser.android=browser.isAndroid=!!/android/.test(userAgent);browser.opera=/opera/.test(userAgent)?version:0; browser.isOpera=!!browser.opera;browser.msie=/msie/.test(userAgent)&&!browser.opera?version:0; browser.isIE=!!browser.msie;browser.isIE8OrLower=!!(browser.msie&&parseInt(browser.msie,10)-1 ){styles=["/applications/documents/download/en-us/1FCS22.32292/stylesheet@2x-packed.css"]; SC.APP_IMAGE_ASSETS=["/applications/documents/sproutcore/desktop/en-us/1FCS22.32292/stylesheet-no-repeat@2x.png","/applications/documents/coreweb/views/en-us/1FCS22. 32292/stylesheet-no-repeat@2x.png","/applications/documents/sproutcore/ace/en-us/1FCS22.32292/stylesheet-no-repeat@2x.png","/applications/documents/sproutcore/ ace/en-us/1FCS22.32292/stylesheet-repeat-x@2x.png","/applications/documents/sproutcore/ace/en-us/1FCS22.32292/stylesheet-repeat-y@2x.png", "/applications/documents/download/en-us/1FCS22.32292/stylesheet-no-repeat@2x.png","/applications/documents/download/en-us/1FCS22.32292/stylesheet-repeat-x@2x .png"] }else{styles=["/applications/documents/download/en-us/1FCS22.32292/stylesheet-packed.css"]; SC.APP_IMAGE_ASSETS=["/applications/documents/sproutcore/desktop/en-us/1FCS22.32292/stylesheet-no-repeat.png","/applications/documents/coreweb/views/en-us/1FCS22.32292/ stylesheet-no-repeat.png","/applications/documents/sproutcore/ace/en-us/1FCS22.32292/stylesheet-no-repeat.png","/applications/documents/sproutcore/ace/en-us/ 1FCS22.32292/stylesheet-repeat-x.png","/applications/documents/sproutcore/ace/en-us/1FCS22.32292/stylesheet-repeat-y.png","/applications/documents/download/en-我们/1FCS22.32292/stylesheet-no-repeat.png","/applications/documents/download/en-us/1FCS22.32292/stylesheet-repeat-x.png"] }var head=document.getElementsByTagName("head")[0],len=styles.length,idx,css;for(idx=0; idxSC.benchmarkPreloadEvents.headEnd=new Date().getTime();SC.benchmarkPreloadEvents.bodyStart=new Date().getTime();if(SC.setupBodyClassNames){SC.setupBodyClassNames()};SC.benchmarkPreloadEvents.bodyEnd=新日期().getTime();
【问题讨论】:
-
这样的东西怎么样:stackoverflow.com/questions/5436599/… ?