http模块和https模块
使用了express的http模块实现了对前端http请求的简单转发,从而实现了跨域请求
使用的时候:
但是这样有一个问题,如果请求的资源类型为页面资源(文本),如果是经过gzip压缩的,直接处理会返回乱码,需要使用方法进行解压缩处理后再进行转发就可以了
request模块
但是还有一个问题,这样的转发只支持http请求的转发,而不支持https的转发,如果要修改就需要根据传递进来的url来确定使用http模块还是https模块
其实有更简单的方式,那就是使用request模块
它支持http和https请求,简单的使用可以参考这篇文章。
实现转发的的时候,也使用pipe来进行转发:
上面完整的请求传递给API,并且将相应传递给请求的发起者,支持GET/PUT/DELETE的其他请求方式
回到我们的例子中,使用request模块使代码大大简化
request也不需要对gzip进行解压,数据直接可用。
也可以对headers进行设置:
参考
CSDN - Node.js http.request()返回响应出现乱码的解决方案
segmentfault - Request —— 让 Node.js http请求变得超简单
stack overflow - No response using express proxy route
领取专属 10元无门槛券
私享最新 技术干货