首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Express转发前端请求实现跨域

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180914G1OGN500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券