我希望代理访问特定网站的嵌入视频。这样做的原因不是违反他们的服务条款,而只是为了让我可以在HTTPS网站上提供他们的内容。
我能够使用以下代码解压缩并重新压缩swf对象:
$input = file_get_contents("/tmp/swf.swf");
$header = substr($input, 0, 8);
$header_old = $header;
$data = substr($input, 8);
$header[0] = "F";
$data = gzuncompress($data);
//$data = str_replace('http://.../','https://localhost/',$data);
$data2 = $header_old.gzcompress($data);
file_put_contents($tmp."2.swf",$data2);
当我在localhost上查看他们的swf文件时,我收到一条看似正常的错误消息,如果我用注释行运行代码也是如此。
如果我取消注释replace函数,则swf对象以异常方式运行。我也尝试不重新压缩输出,结果类似。
这可能是因为swf对象中存在某种校验和吗?