博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node端代理浏览器路由 解决浏览器跨域问题
阅读量:6720 次
发布时间:2019-06-25

本文共 1251 字,大约阅读时间需要 4 分钟。

var _ = require('lodash');var request = require("request");/*    @LM 2017-02-16    node端代理浏览器路由 解决浏览器跨域问题    demo:    router.post('/proxy_http',proxy_routes);    condition = {        url:'',//接口地址 (必填)        method:''//接口方式 (看接口需求)        host:'',//        form:{} post请求参数    }*/exports.proxy_routes = function(req, res, next) {    /*处理get或者post请求的req参数*/    var condition = _.assign(req.body || {}, req.query || {});    if(!condition.url){        return next({status:101,message:'not defind url'})    }    if(condition.host){        req.headers.host = condition.host;    }    var opts = {        url: condition.url,        method: condition.method||'GET',        // headers: req.headers,        form:condition.form||{}    };    var ts = Date.now();    console.log('proxy_routes', opts, ts, "请求开始--");    request(opts,function(err, response, body) {        if(err){            console.log('proxy_routes', opts, ts, "请求异常--err:" + err, (Date.now() - ts) + 'ms');            return next(err);        }                console.log('proxy_routes', opts, ts, "请求正常--response.statusCode:" + response.statusCode, (Date.now() - ts) + 'ms');        try{            res.json(JSON.parse(body));        }catch(e){            res.json(body);        }    });    };

 

转载地址:http://npcmo.baihongyu.com/

你可能感兴趣的文章
产品体验报告-美团APP
查看>>
运维工程师必会的109个Linux命令(4)
查看>>
sql 执行事务中,查询表数据
查看>>
centos7.3部署memcached服务
查看>>
[JSOI2007]文本生成器
查看>>
[POJ] Financial Management
查看>>
assert()函数用法
查看>>
10大主流压力测试工具推荐
查看>>
如何变相的绕过QQ邮箱订阅的繁琐核审
查看>>
mousedown和click冲突事件
查看>>
【Javascript第二重境界】函数
查看>>
转: Beautiful Numbers (费马小定理)
查看>>
Python 匿名函数
查看>>
(转)分布式中使用Redis实现Session共享(一)
查看>>
知识点疑问
查看>>
【UbuntuPhone开发实战】工具篇--Nexus4 booter unlock,获取root权限,刷CM10和刷Ubuntu...
查看>>
汇编语言编辑、汇编、连接、运行的全过程
查看>>
the shortcuts used for linux ternimal
查看>>
PHP字符编码问题之GB2312 VS UTF-8
查看>>
JAVA去除HTML标签
查看>>