2011-04-07 26 views
2

我试图从外部URL使用下面的代码得到响应,但即时通讯没有运气。有人可以阐明我做错了什么,并给出他们认为可能有用的任何指示。没有表达为node.js有一个.request()

var express = require('express'), 
       require('events'); 

var app = express.createServer(); 

app.request({ 
    host: "http://ws.audioscrobbler.com", 
    port: 80, 
    method: "GET", 
    path: "/2.0/?method=artist.getsimilar&artist=bandname&api_key=b25b959554ed76058ac220b7b2e0a026" 
}).on('response',function(response) { 
    console.log(response); 
}); 

app.listen(4000); 

回答

3

我不知道你是否可以。你可以只使用内置的请求功能(见this

从网站:

var http = require('http'); 

var options = { 
    host: 'www.google.com', 
    port: 80, 
    path: '/upload', 
    method: 'POST' 
}; 

var req = http.request(options, function(res) { 
    console.log('STATUS: ' + res.statusCode); 
    console.log('HEADERS: ' + JSON.stringify(res.headers)); 
    res.setEncoding('utf8'); 
    res.on('data', function (chunk) { 
    console.log('BODY: ' + chunk); 
    }); 
}); 

// write data to request body 
req.write('data\n'); 
req.write('data\n'); 
req.end(); 

这是很容易,你还可以用它在你的现有代码...

有时框架不具备解决所有问题的...文档是你的朋友

+0

这似乎是工作。?然而,即时得到404响应...任何线索,为什么这可能发生 – 2011-04-07 18:43:22

+0

404意味着您的网址是请参阅[HTTP响应代码规格](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)。 – tjameson 2011-04-07 18:44:33

+0

我也在google示例中获得了404。 – 2011-04-07 18:54:44

相关问题