我正在使用'request'模块与NODE.js合作:
有效:
var request = require('request');
request('http://www.site.com', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
});
当我尝试包含参数时,它会崩溃!
var request = require('request');
request('http://www.site.com/index.php?action=y9sadf98yh', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
});
Error: undefined is not a valid uri or options object.
at request (/node_modules/request/index.js:1217:41)
at Request._callback (nodeCloseSession/index.js:60:5)
at Request.self.callback (/node_modules/request/index.js:148:22)
at Request.EventEmitter.emit (events.js:98:17)
at Request.<anonymous> (/node_modules/request/index.js:876:14)
at Request.EventEmitter.emit (events.js:117:20)
at IncomingMessage.<anonymous> (/node_modules/request/index.js:827:12)
at IncomingMessage.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:883:14
at process._tickCallback (node.js:415:13)
如何在NODE.js'request'模块中使用参数?
答案 0 :(得分:3)
您可以尝试使用Requestify作为替代方案,一个用于nodeJS +的小而简单的HTTP客户端,它支持缓存..
要执行您的请求,请执行以下操作:
var requestify = require('requestify');
requestify.get('http://www.site.com/index.php?action=y9sadf98yh')
.then(function(response) {
// Get the response body (JSON parsed or jQuery object for XMLs)
response.getBody();
}
);
或者:
var requestify = require('requestify');
requestify.get('http://www.site.com/index.php', {
params: {
action: 'y9sadf98yh'
}
})
.then(function(response) {
// Get the response body (JSON parsed or jQuery object for XMLs)
response.getBody();
}
);
答案 1 :(得分:0)
request('/www.site.com/', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
});
使用用户代理获取参数值