节点Http-proxy收到的正文是乱码。
proxy.on("proxyRes",(proxyRes, req, res)=>{
let headers = proxyRes.headers;
let _end = res.end;
let _writeHead = res.writeHead;
if(proxyRes.headers &&
proxyRes.headers[ 'content-type' ] &&
proxyRes.headers[ 'content-type' ].match( 'text/html')) {
let chunks;
res.writeHead = function() {
res.setHeader( 'transfer-encoding', '' );
res.setHeader( 'cache-control', 'no-cache' );
_writeHead.apply( this, arguments );
}
res.write = (data,encoding) => {
if( chunks ) {
chunks += data;
} else {
chunks = data;
}
}
res.end = function(data,encoding) {
if( chunks && chunks.toString ) {
let body = chunks.toString();
....
_end.apply( res, [ body] );
} else {
_end.apply( res, arguments );
}
}
}
})
Body返回了很多乱码。 例如:``ス''。 但是英语影响不大。