Http服务器--使用Http服务做转发

来源:互联网 发布:windows update35%卡住 编辑:程序博客网 时间:2024/06/06 09:00

使用Http服务器解决前后端联调中的跨域问题

var http = require('http');http.createServer(function (req, res) {    res.setHeader('Access-Control-Allow-Origin', '*'); // 设置请求头  允许所有域名访问 解决跨域    var options = {        hostname: 127.0.0.1,   //  需要请求的服务的域名或IP        port: 3000,       //   需要请求的服务端口号        path: req.url,    //  请求路径        data: null,        method: 'GET',       //   请求方式,默认为GET        headers: {            'Content-Type': 'application/x-www-form-urlencoded'        }    };    /*** 对请求方式加以判断,并修改请求方式 ***/    if (req.method === 'GET') {        var params = url.parse(req.url).query        options.data = params;        options.method = "GET"    }else if(req.method === 'POST'){        var params = null;        req.on('data',function (aa) {            params = aa        });        options.data = params;        options.method = "POST"    }    var data = '';   // 创建变量保存请求到的数据    var request = http.request(options, function (request) {        console.log('状态码:' + request.statusCode)        console.log('响应头:' + JSON.stringify(request.headers))        request.setEncoding('utf8')        request.on('data', function (response) {            data += response        }).on('end', function () {            res.end(data);   // 把data数据返回前端        })    })    request.on('error', function (e) {        console.log(e)        console.error('请求遇到问题:' + e.message)    })    request.end()}).listen(8080, "127.0.0.1", function (err) {  //  IP和端口可以自行指定    if (!err) {        console.log(color.red('代理服务器启动成功,请访问: http://' + "127.0.0.1" + ':' + "8080"))    }})
原创粉丝点击