如何在node.js中通过HTTP获取带有参数的请求

How to HTTP get request with parameters in node.js?

本文关键字:获取 参数 请求 HTTP node js      更新时间:2023-09-26

Im与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的"请求"模块中使用参数?

您可以尝试使用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();
  }
);
request('/www.site.com/', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body);
  }
});

使用userAgent获取您的参数值