一、准备

npm install express -g
npm install express-generator -g
express express-node

会生成一个项目文件如下:

可以安装热更新 nodemon

npm install nodemon -D

修改启动命令:

"scripts": {"start": "nodemon ./bin/www"},

安装request:

npm install request -S

封装request请求:

在routes文件夹下创建/utils/fetch

const request = require('request');
const baseURL = ''; // 公共路径/*** 封装request请求* @url 地址* @data 入参*/
const fetch = {get(url, data = {}) {return new Promise((resolve, reject) => {request({method: 'GET',url,qs: data},(err, res, body) => {if (res.statusCode === 200) {resolve(res.body);} else {reject(err);}});});},post(url, data = {}) {return new Promise((resolve, reject) => {request({method: 'POST',url,form: JSON.stringify(data)},(err, res, body) => {if (res.statusCode === 200) {resolve(res.body);} else {reject(err);}});});}
};module.exports = fetch;

请求转发

测试接口 http://localhost:3000/?a=1&b=2
接口返回以下则成功:
{“status”:200,“msg”:“success”,“params”:{“a”:“1”,“b”:“2”}}

var express = require('express');
var router = express.Router();
const fetch = require('./utils/request');router.get('/', function (req, res, next) {// req.qeury: 获取 GET 方式入参// req.body: 获取 POST 方式入参fetch.get('http://localhost:8000/test', req.query).then((result) => {const data = JSON.parse(result);console.log('response:', data);res.json({...data});}).catch((err) => {res.json({err});});
});router.get('/test', (req, res, next) => {res.json({ status: 200, msg: 'success', params: req.query });
});router.post('/post', (req, res, next) => {res.json({ status: 200, msg: 'success', params: req.body });
});router.get('/test/post', function (req, res, next) {fetch.post('http://localhost:8000/post', req.query).then((result) => {const data = JSON.parse(result);console.log('response:', data);res.json({...data});}).catch((err) => {res.json({err});});
});module.exports = router;

nodejs代理请求转发相关推荐

  1. nginx请求转发被拒绝_nginx反向代理(请求转发-URL匹配规则)

    反向代理适用于很多场合,负载均衡是最普遍的用法. nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理. 当在一台主机上部署了多个不同的web服务器,并且需要能在80端口同时访问这些 ...

  2. Nginx学习总结(10)——Nginx前后端分离将多个请求转发到多个Tomcat,负载均衡反向代理

    一.谈谈"渲染" 相信好多人都挺听过"渲染"这个词,但不清楚它是什么意思?前端开发以为这是后端的活儿,后端开发以为是前端的事儿,推着推着就不了了之.其实渲染很简 ...

  3. Apache 代理(Proxy) 转发请求

    代理分为:正向代理(Foward Proxy)和反向代理(Reverse Proxy) 1.正向代理(Foward Proxy) 正向代理(Foward Proxy)用于代理内部网络对Internet ...

  4. nginx反向代理(请求转发-URL匹配规则)

    反向代理适用于很多场合,负载均衡是最普遍的用法. nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理. nginx 反向代理官方文档: NGINX REVERSE PROXY 当在 ...

  5. Nodejs的https或axios使用代理请求

    折腾了大半天,搞定了nodejs中使用代理!! https模块的使用参考这个: socks-proxy-agent - npmA SOCKS proxy `http.Agent` implementa ...

  6. nginx-启动gzip、虚拟主机、请求转发、负载均衡

    一.启用gzip 1 gzip on; 2 gzip_min_length 1k; 3 gzip_buffers 4 16k; 4 gzip_http_version 1.1; 5 gzip_comp ...

  7. Vue——请求转发配置解决方案

    问题描述 当使用Vue和Spring Boot开发前后端分离项目时,由于前端项目和后端项目在不同的端口下启动,前端的网络请求无法直接发送到后端. 问题分析 对前端服务器配置请求转发. 注:修改了配置文 ...

  8. 【Java12】tomcatservlet(nginx,web.xml,生命周期,适配器优化),requestresponse(请求转发,登陆案例(1),重定向,文件下载)

    文章目录 1.nginx的conf文件:以前网络编程中B/S架构中服务器是用socket写,用文件输入流读一个文件,读到后socket通过outputstream写出去,这些过程有了nginx后再也不 ...

  9. nginx配置文件+本地测试请求转发到远程服务器+集群

    1 在本地测试1 众所周知,nginx是一个反向代理的服务器,主要功能即为实现负载均衡和动静分离.在别的我别的文章有详细的nginx(Windows)相关介绍教程. 由于自己安装的nginx在本地的计 ...

  10. 关于localhost访问特别快而nginx配置代理后转发特别慢的解决

    关于localhost访问特别快而nginx配置代理后转发特别慢的解决 背景 解决过程 后续 背景 本地启动一个web应用,在采用localhost:port的方式访问的时候特别流畅,因为访问其它资源 ...

最新文章

  1. 客户资产管理(Custom Asset Management)
  2. 《营销云价值解读与场景实践》白皮书重磅首发,加码企业数字化营销!
  3. 来自微博html5怎么设置,来自微博的面试题解决方案
  4. 直播预告:GAN在网络特征学习中的应用 | PhD Talk #23
  5. Can‘t find a suitable configuration file in this directory or any parent. 报错解决错误
  6. 巧用这些可视化分析工具,让你的工作效率提升50%!
  7. 日志组件logback的介绍及配置使用方法(一)
  8. ES6高频面试题目整理
  9. poco c++框架:日期时间
  10. JavaScript 和 React,React用了大量语法糖,让JS编写更方便。
  11. 01 - 树莓派简介以及烧录系统
  12. 计算机犯罪率增长,我国的计算机年犯罪率的增长是()
  13. matlab 程序文件,MATLAB程序文件
  14. 美食杰 login的实现效果
  15. Unreal - Environment Query System(EQS)
  16. Android实现语音识别成中文
  17. Project 2013项目管理教程(2):project基础操作概述
  18. 企业项目开发中可遵循的时间管理守则-华为时间管理
  19. WGCNA构建基因共表达网络详细教程
  20. 缺陷管理 如何发现更多的缺陷

热门文章

  1. 【摩尔吧】Altium 17 OT6166全景行车记录仪六层高速PCB设计实战视频
  2. paraview热流图(2):3D glyphs representation
  3. 【原创】【2021 android逆向系列】番外:oppo A57手机刷官方纯净版ROM且ROOT
  4. oppo9s刷机教程_OPPO R9s 目前最简单的刷Recovery ROOT 方法,强烈推荐
  5. Python打印指定日期的日历
  6. 华为快应用-怎么使用卡片功能
  7. java 页面换行_java 页面换行处理
  8. ssm java当前项目路径_SSM项目中动态获取路径
  9. Python菜鸟教程,带你十分钟入门!
  10. 手机端和PC端开发区别