我目前正在尝试编写一个WindowsPhone7.1应用程序,允许您访问Coursera课程信息,包括流式讲座。
我想也能允许用户下载演讲视频幻灯片(PDF)。很遗憾,这些文件受到保护。这通常不是问题。我的ClientHttpWebRequest设置为使用CookieContainer。这一切都很好。
当尝试使用BackgroundTransferRequest下载资源时,乐趣就来了。类不允许您为cookies提供CookieContainer实例。这意味着我必须使用BackgroundTransferRequest.Headers设置值。
coursera将其会话cookie作为httponly cookie返回。不幸的是,ClientHttpWebRequest不允许您从响应访问httponly cookies,并且,通过代理,意味着我也无法从CookieContainer读取会话cookie。
有没有什么明显的遗漏,可以让我访问我感兴趣的值,或者我需要自己的后台文件传输基础设施?

最佳答案

不,你没有遗漏任何东西。这是sdks产品的一个缺口。
不过,我可以想出两种可能的选择。
让应用程序在锁屏下运行并自己处理下载。-这就是我们在后台文件传输可用之前必须做的事情。
拥有自己的代理服务器,它位于应用程序和其他站点之间,可以为您处理cookie方面的事情,并使文件直接对应用程序可用。显然,在采用这种方法之前,可能需要考虑一些重要的安全因素。运行和维护服务器也可能需要额外的成本。

07-24 15:23