Tag: 请求

具有node.js请求模块的多个请求池

我正在使用node.js请求模块来获取URL的内容。 它工作的很好,我甚至可以通过maxSockets: XXX来让它做更多的并行。 但是,我在代码中有几个地方需要对不同的地方进行不同的请求。 我希望能够一次创build两个单独的25个请求池等。但是,请求模块似乎没有build立一个构造函数来创build不同的池。 对于我如何去做这件事的build议? 我理想上喜欢沿着以下几行: var r1 = new request({ maxSockets: 25 }); var r2 = new request({ maxSockets: 25 }); 然后开始使用它们来获取东西… 任何build议如何去做这个?

Nodejs请求模块返回不正确的statusCode

我试图使用请求模块来获取HTTP状态码。 但是有时候这是错误的 例如: var request = require('request'); var requestSettings = { method: 'HEAD', url: 'http://stackoverflow.com/help' }; request(requestSettings, function(error, response, body) { console.log(response.statusCode); }); 此代码返回404(不如预期的200)。 为什么会这样呢? 谢谢。

我怎么能一次testing/发送多个(假的)ajax请求到一个(node.js)服务器?

在某个时候,您的(node.js)应用程序可以很好地处理您的单个请求,而您希望看到如果有五十个人同时使用它,会发生什么情况。 内存使用会发生什么? 整个响应速度会怎样? 我认为这种testing做了很多,所以我想这可能是一个相对容易的帮助程序。 通过相对容易,我的意思是方便像POSTMAN – REST客户端是单个请求和响应testing。 你推荐的(或最喜欢的)testing方法是什么?

Express.js中间件修改响应

我想用中间件函数来表示修改响应。 app.use(function(request, response, next) { .. do something .. next(); // moves to next middleware }); 我可以修改将传递给以下中间件function的request和response对象。 有没有一个惯例或最佳做法来修改这些对象? 在我的具体情况下,我设置res.body因为通过使用res.write()它实际上已经发送响应有效载荷。 是否有一些属性可以存储有效负载,稍后将由下一个中间件function发送?

ExpressJSvariables最后的参数数量

我希望我的快速应用程序与file/a和file/a/b/c匹配请求, file/a后面的variables数目至less为1。 我试过这个: app.get('/file/:path?*', function(req,res){ res.send(req.params.path); }); 但结果是: $ curl localhost:3000/file/a a $ curl localhost:3000/file/a/b a 如何通过不使用req.query.splice(1)来获取整个查询? 我希望代码更具可读性,这种拼接在维护时很容易被遗忘。

Nodejs请求“代理”选项不是通过定义的主机的路由请求

我很难查看Node js应用程序和API之间交换的信息。 开发人员正在使用请求模块。 查看自述文件,有一个选项叫做'proxy': proxy – An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the url parameter (by embedding the auth info in the uri) 但是,当我添加代理作为一个选项似乎被丢弃,因为当请求传递到服务器时,我看不到在我的HTTP代理(查尔斯或提琴手) 我正在使用的选项是: exports.defaultOptions = function(){ return { host: config.apiHost, // API url to connect too headers: { 'Content-Type': 'application/json' }, method: 'POST', […]

Node.js请求数据事件不会触发。 我究竟做错了什么?

看起来好像请求对象上的数据事件没有被触发,或者我无法正确连接它,以便从中获取任何东西。 我得到了最后的结果,所有的url都在工作。 我看过论坛和文档,当我看着我的代码,它似乎应该工作。 我正在使用节点版本0.10.12。 我是新的。 我正试图让一个简单的服务器进入节点。 我正在关注“节点入门书”。 这些代码大部分来自那里,只是一些非常小的修改。 我已经直接从书中尝试了代码。 这是我现在正在使用的代码。 index.js var server = require("./server"); var router = require("./router"); var requestHandlers = require("./requestHandlers"); var handle = {}; handle["/"] = requestHandlers.start; handle["/start"] = requestHandlers.start; handle["/upload"] = requestHandlers.upload; if (process.argv[2] !== undefined && process.argv[2] !== null) { server.start(router.route, handle, process.argv[2]); } else { server.start(router.route, handle); } router.js […]

为什么我的Goodreads API的请求返回undefined?

以下是我如何在NPM中使用请求模块的简短示例。 它返回undefined,我相当肯定我正确使用xml2js。 我是否滥用了请求模块中的“表单”选项将值传递给Goodreads API? 谢谢! var req = require('request'); var resp = req.get('https://www.goodreads.com/book/isbn_to_id', {form:{ 'key' : '*****************', 'isbn' : '9780060513030' }}); var parseString = require('xml2js').parseString; parseString(resp, function (err, result) { console.dir(result); });

Mongoose API通过_id获取数组中的嵌套项

我正在用Express和Mongoose(前面的Backbone)构buildapi。 我有一个Mongoose用户模型,其中包含一个名为“订单”的数组。 我需要设置一个将通过ID读取单个订单的创build方法。 当我导航到: http://localhost:3000/test/ 我得到以下login用户: { "__v": 0, "_id": "537d09a1fe47a00000c54514", "kittenType": "Grumpy", "local": { "petname": "Smeagol", "password": "$2a$08$X4sF5UmYZ3/2cxfRzpPcq.pphYFRKcb.6xBGupdUyUMgWJlFSr/uq", "email": "julie@gmail.com" }, "orders": [ { "title": "Big Max Fountain", "description": "Large capacity drinking fountain", "quantity": "2", "price": 500, "_id": "53837e9e681808e6ea9f9ca4", "modified": "2014-05-28T23:49:10.232Z" }, { "title": "Lotus Fountain", "description": "Tranquil pools of water", "quantity": "1", "price": […]

Nodejs作为通过套接字的请求/响应服务器的客户端

我正在尝试用sailsjs构build一个web服务器。 为了执行它的请求,我的服务器需要连接到一个套接字来传递命令并等待响应。 对于每个命令,我都等待一个特定的响应,并且必须调用一个特定的callback函数。 目前我只打开一个套接字,并在每个请求更改“onData”套接字。 它看起来不太好,而且很丑。 另一个select是为每个命令或请求打开和closures一个套接字:我发现它甚至是最糟糕的。 有一个聪明的办法来做我所需要的? 编辑: 这里是套接字(DriverConnection.js): module.exports = { connect: function(callback){ var net = require('net'); client = net.connect({port: 13}, function() { //'connect' listener console.log('client connected'); callback(); }); }, command: function(command, callback){ client.write(command); client.on('data', function(data) { console.log("parsing data " + data.toString()); callback(JSON.parse(data.toString())); }); } }; 这是一个请求使用的例子: module.exports = { list: function(req,res) { DriverConnection.command('{}',function(data){ […]