节点Http-proxy获取的主体乱码

时间:2019-04-06 02:53:20

标签: node.js

节点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返回了很多乱码。 例如:``ス''。 但是英语影响不大。

0 个答案:

没有答案