前面写过一篇使用request.js做代理的文章,可能眼睛敏锐的朋友已经看出在代理POST方法时和代理其它请求方式是有区别的, 现在我来说一下为什么要这么处理。

相信很多人都采用这种方式去代理POST方法,但是你有可能代理不过去,请求会被挂起!

req.pipe(request({
method: 'POST',
uri: 'http://localhost:8080/api'
})).pipe(res);

为什么呢?

因为你可能使用了body-parse中间件

require('body-parser').urlencoded({extended: false})

解决方案:

  1)删除urlencoded中间件

  2)改用如下方式代理(取出body后重新组装发送)

request.post({
uri: 'http://localhost:8080/api',
form: req.body
}).pipe(res);

参考文献:

  https://github.com/request/request/issues/1664

最新文章

  1. Centos上搭建基于L2TP的VPN
  2. Sublime Text 3 Install Markdown Preview Plugins
  3. zlog学习笔记(mdc)
  4. Webservice 调用方式整理
  5. norflash移植及uboot 保存环境变量实验
  6. Swift语言指南(四)--类型安全和类型推断
  7. CMake必知必会
  8. Java IO(Properties/对象序列化/打印流/commons-io)
  9. 常量和静态变量会先载入内存后在进行执行php代码
  10. Linux IPC实践(13) --System V IPC综合实践
  11. eclipse配置tomcat后启动报内存错误解决方法
  12. 第一天学JAVA,下载JDK,配置JAVA环境变量!!!
  13. 如何在python中把两个列表的各项分别合并为列表
  14. java io系列12之 BufferedInputStream(缓冲输入流)的认知、源码和示例
  15. RabbitMQ&RocketMQ动态添加Queue参考
  16. leecode第五十九题(螺旋矩阵 II)
  17. Spring @Value的$和#用法区别
  18. PRM路径规划算法
  19. 6、javac命令详解
  20. GridView 控制默认分页页码间距 及字体大小

热门文章

  1. Fully Update And Upgrade Offline Debian-based Systems
  2. Netty 系列目录
  3. 如何删除win8自带输入法
  4. Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8 整合例子
  5. part1:9-windows与Linux文件共享
  6. .NET中的Func委托用法
  7. PTA第五次作业
  8. Reverse string using recursion
  9. 2018.09.08 AtCoder Beginner Contest 109简要题解
  10. yii2 ActiveRecord的生命周期