如何使用node.js中的参数获取HTTP请求?
我正在使用NODE.js使用'请求'模块Im:
有用:
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'模块中使用参数?
你可以尝试使用Requestify作为替代,一个小而简单的HTTP客户端nodeJS +它支持caching。
要执行您的请求,请执行以下操作:
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(); } );
request('/www.site.com/', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } });
使用userAgent获取您的参数值