Silverlight访问skyDrive的防盗链破解,你能做到吗?

本人在自己的博客(当前页面)上加了个Silverlight,目前这个Silverlight实现的功能是相册和视频,其中相册和视频是通过XML文件来配置的,处于更新和维护的目的,XML配置文件没有打包在xap文件中,而是不得不与xap文件一起放在博客园文件上传目录(files.cnblogs.com/godtear)下,因为silverlight不能跨域访问文件或者webservice。   我的视频XML配置文件中记录了各视频源的地址和描述信息,而这些视频都保存在我的SkyDrive里面.

Silverlight访问skyDrive的防盗链破解,你能做到吗?_第1张图片

 

SkyDrive中的文件防盗链:

Silverlight访问skyDrive的防盗链破解,你能做到吗?_第2张图片 

Silverlight访问skyDrive的防盗链破解,你能做到吗?_第3张图片 

 

 了解了这些信息,我相信你已经明白问题的瓶颈在哪儿了,那就是,我无法在Video.xml中准确地记录一个视频文件的URI。

一个奇怪的问题是,当我上传一个小的jPG图片的时候,它的真实下载地址是不会改变,当我上传一个10M的wmv视频文件的时候,他的真实下载地址会在一段时间后改变(原来的地址无效了),我尝试把WMV文件扩展名改成.jpg上传试图欺骗,结果也是不行,所以我猜测,可能SkyDrive进行了流量检测,然后动态改变下载地址。后来我又尝试WebClient获取前一个图中地址的HTML流,然后用正则表达式匹配出动态改变后的真实下载地址。但问题又出来了,因为Silverlight是不能跨域请求的,所以,我又把.xap和video.xml放到SkyDrive中跟.wmv视频文件同一个目录。但这样做还是不行,因为前一个图中的地址跟真实的下载地址不是同一个域。

 

问题的约束是:

  没有第三方的空间来存储,只能是把视频文件放在SkyDrive,必须是在Silverlight中访问,也不能借助第三方的服务来解决URL的问题。.xap和video.xml文件可以放在files.cnblogs.com中,也可以放在skydrive中。

 

   

 

你可能感兴趣的:(silverlight)