获取SkyDrive的外链地址
2009 5 4 01:32 AM 6871次查看
分类:无 标签:JavaScript, Python
首先看这个文件:
http://cid-6e3a3aab088bd716.skydrive.live.com/self.aspx/.Public/Fate%20Zero/Fate%20Zero%20vol.1.pdf
查看源代码,搜索download可以看到这句:
<a id="download" href="javascript:$SelfPage.Download()">
这就是JavaScript生成的下载链接了。再次搜索SelfPage,便找到这段代码: var $SelfPage = new function()
{
var _download = 'http\x3a\x2f\x2fencd9q.bay.livefilestore.com\x2fy1p2onQwjsCe-NjQ0-_RZXQNmjoJZ7nemN94t8UB6yZd5O2oJ-Zbtw7G9WAy6ZoEZbgC1xVw7WWFvBpUUZHNIlwOg\x2fFate\x2520Zero\x2520vol.1.pdf\x3fdownload';
var _demote = 'http\x3a\x2f\x2fencd9q.bay.livefilestore.com\x2fy1p2onQwjsCe-NjQ0-_RZXQNmjoJZ7nemN94t8UB6yZd5O2oJ-Zbtw7G9WAy6ZoEZbgC1xVw7WWFvBpUUZHNIlwOg\x2fFate\x2520Zero\x2520vol.1.pdf\x3fdownload';
var _dirty = false;
this.MarkDirty = function() { _dirty = true; }
this.Download = function()
{
if (_dirty)
{
_dirty = false;
window.location = _demote;
}
else
{
window.location = _download;
}
}
}
_download和_demote便是utf-8编码的下载地址了,不过还需要将\x这种编码去掉,才能拿到真正的下载地址。如果你有IE浏览器,打开一个新窗口,在地址栏输入这串代码,回车后即可获得地址:
//javascript:document.write("_download或_demote"); 例如下面这个:
javascript:document.write("http\x3a\x2f\x2fencd9q.bay.livefilestore.com\x2fy1pFCpnin_0yA0KM2Hk1V3t4H8MWNuxm1B3ajFnfLH6TgbvDk1Ea9tu89pwhqmdrsbiVrjlPqYEReWbmINBJgYo0Q\x2fFate\x2520Zero\x2520vol.1.pdf\x3fdownload");
当然还有更通用的办法,无需查看源代码,不过仍需要你有IE浏览器。最简单的方法如下:
打开文件提取页面后,在地址栏输入这串代码,然后回车即可。
javascript:$SelfPage.Download();document.write(window.location);
嘛,实际上是不是IE浏览器都无所谓,只不过如果不是,就得多写很多代码,我懒得处理而已=。=当然,像我这种Python控,自然也不会放过Python。
打开Python命令行,将_download或_demote用引号引起来,再敲回车即可拿到这个地址(这是_demote生成的):
'http://encd9q.bay.livefilestore.com/y1p2onQwjsCe-NjQ0-_RZXQNmjoJZ7nemN94t8UB6yZd5O2oJ-Zbtw7G9WAy6ZoEZbgC1xVw7WWFvBpUUZHNIlwOg/Fate%20Zero%20vol.1.pdf?download'去掉引号后,便是外链地址了。
2009年6月2日更新:Google Chrome获取Sky Drive外链地址的插件
向下滚动可载入更多评论,或者点这里禁止自动加载。