的Firefox扩展腐败的gzip响应
问题描述:
的Firefox扩展:http://mikelsv.ru/extension_ci.xpi (update: var site_url="you site/php_code.php"; in chrome\content\accelerator.js)
PHP代码:pastebin.com/hbSNfp1e
的Firefox扩展腐败的gzip响应
如何工作:
<br>
PHP: form method=post action=https://java.shadowlands.ru/zombievk/items?compress=true&lang=ru
extension: if(http-on-examine-response && url=='shadowlands...') new TracingListener();
<br>TracingListener.onDataAvailable(){ this.receivedData.push(data); }
<br>TracingListener.onStopRequest(){ send_post_data(this.receivedData.join()); to site_url; }
PHP: $postdata = file_get_contents("php://input");
<br> gzuncompress(base64_decode($data)));
问题:gzip的数据损坏。所有好的如果:form action=.../items?compress=true&lang=<b>en</b>
我需要做什么来解决这个问题?
答
我发现了这个问题。我省略了.join
方法的分隔符参数,因此使用了默认分隔符(,
)。
var responseSource = this.receivedData.join();
变为:
var responseSource = this.receivedData.join('');
我已经通过提供一个空字符串作为分隔符解决了这个问题