2016-12-25 105 views
0

我学习框架表达我tru tun获取HTTP方法的一些url,并从结果中获取正文,但现在只有我有这是状态302,我读了关于Corss域并添加允许起源到标题但仍然有302重定向 在我的例子中,我添加了路由文件的逻辑,也许需要更多漂亮的组织代码,我的一些控制器与行动,我只是学习,给我推荐。NodeJS创建HTTP请求与响应

host/myapp/routes/parse.js 

var express = require('express'); 
var http = require('http'); 
var router = express.Router(); 

router.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

/* GET home page. */ 
router.get('/', function(req, res, next) { 

    var options = { 
    host: 'google.com.ua', 
    port: 80, 
    path: '/' 
    }; 

    http.get(options, function(res) { 
    console.log("Got response: " + res.statusCode + "this"); 
    }).on('error', function(e) { 
    console.log("Got error: " + e.message); 
    }); 


    res.send('respond with a resource'); 
}); 

module.exports = router; 

和我的主机/ MYAPP/app.js添加

// 
var parse = require('./routes/parse'); 
... 
app.use('/parse', parse); 
// 

回答

0

跨域HTTP请求(CORS)在您的网站的前端从脚本中启动时才被限制。在这里,您尝试通过服务器加载资源,因此这里不应该是个问题。所以我想,你应该检查服务器控制台上的日志,找出问题,并尝试用一个简单的包像superagent

0

http.get获取你的数据不遵循默认重定向。您必须添加自己的重定向逻辑,或使用支持自动重定向的库。

request内置支持重定向。

var request = require('request'); 
request('http://www.google.com.ua', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    console.log(body) // Show the HTML for the Google homepage. 
    } 
}) 
+0

in'host/myapp/routes/parse.js'? –