nodejs实现请求代理
通常我们常用的请求方法只有GET、POST、PUT和DELETE,所以在此只介绍这四种和文件上传的代理方式
在此我们使用request.js第三方模块实现
GET(DELETE同GET,将request方法改为DELETE即可)
const request = require('request');
const url = require('url'); test: function (req, res, next) {
let curl = url.parse(req.url);
let search= curl.search;
curl = "http:/localhost:8080/api/get"+search; try {
req.pipe(request({
method: 'GET',
uri: curl
})).pipe(res); } catch (e) {
next(e);
}
}
POST(PUT同POST,将request方法改为put即可)
const request = require('request');
const url = require('url'); test: function (req, res, next) {
let curl= url.parse(req.url);
let search= curl.search;
curl = "http://localhost:8080/api/post"+search; let body = req.body;
try {
request.post({
uri: curl,
form: body
}).pipe(res); } catch (e) {
next(e);
}
}
代理文件上传
const request = require('request');
const url = require('url'); upload: function (req, res, next) {
let curl= url.parse(req.url);
let search= curl.search;
curl = "http://localhost:8080/api/upload"+search; try {
req.pipe(request({
method: 'POST',
uri: curl
})).pipe(res); } catch (e) {
next(e);
}
}
nodejs实现请求代理的更多相关文章
- vue-cli 3.0之跨域请求代理配置及axios路径配置
vue-cli 3.0之跨域请求代理配置及axios路径配置 问题:在前后端分离的跨域请求中,报跨域问题 配置: vue.config.js: module.exports = { runtimeCo ...
- nodejs request-promise 请求返回中文乱码
nodejs request-promise 请求返回中文乱码 解决方法: 具体步骤如下: 1. 引用iconv-lite 进行转码. 2. 请求时要写参数:encoding:null 3. 对bod ...
- vue.js学习之 跨域请求代理与axios传参
vue.js学习之 跨域请求代理与axios传参 一:跨域请求代理 1:打开config/index.js module.exports{ dev: { } } 在这里面找到proxyTable{}, ...
- HTTP请求代理类(GET 、 POST 、PUT 、DELETE)
package com.jm.http.tools; import java.io.BufferedReader; import java.io.IOException; import java.io ...
- vue-cli构建的项目中请求代理与项目打包
vue-cli构建的项目中,生产模式下的打包路径.与生产模式下的请求代理简单示意
- 使用nodejs中httpProxy代理时候出现404异常
在公司中使用nodejs构建代理服务器实现前后台分离,代码不能拿出来,然后出现httpProxy代理资源的时候老是出现404.明明被代理的接口是存在的.代码大概如下: var http = requi ...
- 使用Nodejs进行反向代理
在实际工程开发中,会有前后端分离的需求. 为了平滑的完成前端请求到后端各个独立服务,需要一个中间件实现请求转发的功能,利用Nginx可以实现,在这里,使用nodejs实现一个反向代理服务器. 实际 ...
- js设计模式系列之(一)请节约你的请求-代理模式
What’s the proxy pattern? 代理模式其实就是将违反单一性原则的类给抽离出来,尽量满足开放和封闭的原则. 相当于一个类的行为只是一种,但是你可以给这个类添加额外的行为.比如: 一 ...
- nodejs 设置网络代理
在使用nodejs的过程中,加入使用代理上网,那么安装组件会失败,此时配置代理即可,命令如下: [root@oracle ~]#npm config set proxy=http://10.101.1 ...
随机推荐
- Jmeter Ant Task如何让beanshell断言失败的详细信息展示在report里面
首先必须给beanshell断言添加FailureMessage if(${TotalClient_SS}+2!=${TotalClient_SS2}){Failure=true; Fai ...
- maven web 项目 打入 jar 包 , 和编译入 java 文件到 web-inf 下
<outputDirectory>src\main\webapp\WEB-INF\classes</outputDirectory> 可以把 类文件编译到 web-inf 下 ...
- 从一个流中读数据--fread
头文件:#include<stdio.h> 函数原型:int fread(void *ptr,int size,int nitems,FILE *stream); 参数说明: ptr:用于 ...
- 【Linux】Jenkins配置和使用(二)
摘要 本章介绍Jenkins的简单使用,关于Jenkins的安装,参照[Linux]Jenkins安装(一) 事例说明:在linux环境下,安装的jenkins,集成svn,tomcat的环境,项目是 ...
- QQ绝招
1.让QQ头像永远在前 打开"个人设定"窗口,然后在自己的昵称前点一下鼠标,再按空格键插入一两个空格(不能太多了,要不然昵称就不能完整显示了),然后点击"修改" ...
- 19. Fight over Fox-hunting 猎狐引发的冲突
. Fight over Fox-hunting 猎狐引发的冲突 ① Foxes and farmers have never got on well.These small dog-like ani ...
- struct的使用
编写一个学生struct,成员有学号(id).姓名(name).成绩(5门课程),随机生成多个学生的学号.姓名和成绩存储到结构体数组.再根据总分进行排名并输出学生的信息和总分. stu.h #ifnd ...
- Linux服务器部署系列之五—Webmin篇
对于很多习惯使用windows的用户,在刚接触Linux的时候,要使用命令行配置Linux服务器可能会感觉难以适应.今天我们来讲解一下,Linux下的图形配置工具—Webmin,通过这款工具,用户可以 ...
- Cadence丢失了csdCommon.dll
http://bbs.elecfans.com/jishu_450237_1_1.html
- qt编程遇到的东西
setWindowFlags http://blog.chinaunix.net/uid-23500957-id-3876399.html move()方法,的作用是设置QWidget部件的pos坐标 ...