通过浏览器自动安装 DRM 许可证的代码 (Windows Media Player)
Thursday, 27. March 2008, 07:32:45
为了对不同的文件安装不同的许可证,需要动态生成相应的代码,以下是我的一个土办法(Perl):
# 这儿是许可证
$licenseID = "......";
# 页面载入时的JavaScript代码
my $add_js = qq|
<script Language="JavaScript">
function StoreLicense() {
GetLicenseObj.StoreLicense('<LICENSERESPONSE>$licenseID</LICENSERESPONSE>');
}
try{
window.addEventListener('load', StoreLicense, true);
} catch(ex) {
window.attachEvent('onload', StoreLicense);
}
</script>
|;
# DRM对象的HTML代码
my $add_html = qq|
<object id="GetLicenseObj" classid="clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062" name="GetLicenseObj" viewastext>
<embed mayscript type="application/x-drm-x2" hidden="true">
</embed>
</object>
|;
# 打开 HTML 文件,插入以上代码并送出
open(TMP, $html_path) or die "Can not open temp file: $html_path";
print "Content-type: text/html\n\n";
while(<TMP>) {
if( /[\s\t]*<\/head/i ) {
print $add_js;
} elsif( /[\s\t]*<\/body/i ) {
print $add_html;
}
print $_;
}
close(TMP);以上方法,仅供参考,切勿照抄。