nodejs代理请求转发
一、准备
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代理请求转发相关推荐
- nginx请求转发被拒绝_nginx反向代理(请求转发-URL匹配规则)
反向代理适用于很多场合,负载均衡是最普遍的用法. nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理. 当在一台主机上部署了多个不同的web服务器,并且需要能在80端口同时访问这些 ...
- Nginx学习总结(10)——Nginx前后端分离将多个请求转发到多个Tomcat,负载均衡反向代理
一.谈谈"渲染" 相信好多人都挺听过"渲染"这个词,但不清楚它是什么意思?前端开发以为这是后端的活儿,后端开发以为是前端的事儿,推着推着就不了了之.其实渲染很简 ...
- Apache 代理(Proxy) 转发请求
代理分为:正向代理(Foward Proxy)和反向代理(Reverse Proxy) 1.正向代理(Foward Proxy) 正向代理(Foward Proxy)用于代理内部网络对Internet ...
- nginx反向代理(请求转发-URL匹配规则)
反向代理适用于很多场合,负载均衡是最普遍的用法. nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理. nginx 反向代理官方文档: NGINX REVERSE PROXY 当在 ...
- Nodejs的https或axios使用代理请求
折腾了大半天,搞定了nodejs中使用代理!! https模块的使用参考这个: socks-proxy-agent - npmA SOCKS proxy `http.Agent` implementa ...
- 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 ...
- Vue——请求转发配置解决方案
问题描述 当使用Vue和Spring Boot开发前后端分离项目时,由于前端项目和后端项目在不同的端口下启动,前端的网络请求无法直接发送到后端. 问题分析 对前端服务器配置请求转发. 注:修改了配置文 ...
- 【Java12】tomcatservlet(nginx,web.xml,生命周期,适配器优化),requestresponse(请求转发,登陆案例(1),重定向,文件下载)
文章目录 1.nginx的conf文件:以前网络编程中B/S架构中服务器是用socket写,用文件输入流读一个文件,读到后socket通过outputstream写出去,这些过程有了nginx后再也不 ...
- nginx配置文件+本地测试请求转发到远程服务器+集群
1 在本地测试1 众所周知,nginx是一个反向代理的服务器,主要功能即为实现负载均衡和动静分离.在别的我别的文章有详细的nginx(Windows)相关介绍教程. 由于自己安装的nginx在本地的计 ...
- 关于localhost访问特别快而nginx配置代理后转发特别慢的解决
关于localhost访问特别快而nginx配置代理后转发特别慢的解决 背景 解决过程 后续 背景 本地启动一个web应用,在采用localhost:port的方式访问的时候特别流畅,因为访问其它资源 ...
最新文章
- 客户资产管理(Custom Asset Management)
- 《营销云价值解读与场景实践》白皮书重磅首发,加码企业数字化营销!
- 来自微博html5怎么设置,来自微博的面试题解决方案
- 直播预告:GAN在网络特征学习中的应用 | PhD Talk #23
- Can‘t find a suitable configuration file in this directory or any parent. 报错解决错误
- 巧用这些可视化分析工具,让你的工作效率提升50%!
- 日志组件logback的介绍及配置使用方法(一)
- ES6高频面试题目整理
- poco c++框架:日期时间
- JavaScript 和 React,React用了大量语法糖,让JS编写更方便。
- 01 - 树莓派简介以及烧录系统
- 计算机犯罪率增长,我国的计算机年犯罪率的增长是()
- matlab 程序文件,MATLAB程序文件
- 美食杰 login的实现效果
- Unreal - Environment Query System(EQS)
- Android实现语音识别成中文
- Project 2013项目管理教程(2):project基础操作概述
- 企业项目开发中可遵循的时间管理守则-华为时间管理
- WGCNA构建基因共表达网络详细教程
- 缺陷管理 如何发现更多的缺陷
热门文章
- 【摩尔吧】Altium 17 OT6166全景行车记录仪六层高速PCB设计实战视频
- paraview热流图(2):3D glyphs representation
- 【原创】【2021 android逆向系列】番外:oppo A57手机刷官方纯净版ROM且ROOT
- oppo9s刷机教程_OPPO R9s 目前最简单的刷Recovery ROOT 方法,强烈推荐
- Python打印指定日期的日历
- 华为快应用-怎么使用卡片功能
- java 页面换行_java 页面换行处理
- ssm java当前项目路径_SSM项目中动态获取路径
- Python菜鸟教程,带你十分钟入门!
- 手机端和PC端开发区别