Tag: httprequest

对象解构的任何方面是通过引用分配的吗?

我有一个程序是递增会话cookie上的请求,并将其打印到控制台。 最初,我试图弄清楚如何保存这些数据。 login几个地方后,我意识到,尽pipe我有一个单独的variables来保存我认为是req成员对象的临时版本的数据正在保存/更改。 这是使我意识到实际的对象正在改变时,我增加了我分配给它的variables的代码: recordRequest(req) { const { ip } = req.info; const { requestsPerSecond } = req.session; if (req.originalUrl.split('/').filter(Boolean)[0] == 'www.example.com') { requestsPerSecond[ip] = requestsPerSecond[ip] + 1 || 1; } console.log(req.session.requestsPerSecond); } 我似乎无法在这里或在Mozilla的文档中find这是否是有意的行为,不pipe这是否是我使用const的结果(在这里你可以改变成员variables),或者有一些奇怪的错误正在进行。 我也有麻烦重现这个例子在一个较小的规模,但我证实没有进入或走出function正在影响这一块代码。 这不是打破我的代码或任何东西(这实际上使我的生活更容易),但我想明白为什么发生这种情况!

parsingJSON数组nodejs

所以我正在学习NodeJS和一般的JavaScript,并玩弄它,我有一些parsingJSON的问题。 我从“用户”收到以下内容: { "sync_contact_list": [ { "name": "c", "number": "789", "email": "" }, { "name": "b", "number": "123", "email": "a@a.com" }, { "name": "a", "number": "416", "email": "" } ] } 我的问题是我如何正确parsing这个来获取个人位: { "name": "a", "number": "416", "email": "" } 我一直在尝试做var jsonObject = JSON.parse(req.body); ,但我不断收到parsing错误,不pipe我如何改变我收到的JSON(单个组件,所有的等)。 任何人都可以指出我做错了什么? 编辑:所以我使用快递处理不同的path。 所以我有app.js: var express = require('express') , routes = […]

停止在nodejs请求中下载数据

我们如何能够停止服务器的剩余响应 – 例如。 http.get(requestOptions, function(response){ //Log the file size; console.log('File Size:', response.headers['content-length']); // Some code to download the remaining part of the response? }).on('error', onError); 我只想logging文件大小,而不是浪费我的带宽下载剩余的文件。 nodejs是否自动处理这个问题,还是我必须为它编写一些特殊的代码?

用Restifyparsingurl编码体

我无法使用restify对我的node.js API执行url编码的post。 我有我的restify应用程序的以下设置: app.use(restify.acceptParser(app.acceptable)); app.use(restify.queryParser()); app.use(restify.urlEncodedBodyParser()); 但是,当我要求我的应用程序使用curl与下面的请求: curl -X POST -H "Content-type: application/x-www-form-urlencoded" -d quantity=50 http://app:5000/feeds 我在我的视图中获得以下input正文: console.log(req.body) // "quantity=50" 提前致谢, 马蒂亚斯

nodejs – 如何promisify http.request? 拒绝被叫了两次

我试图把http.request包装到Promise : new Promise(function(resolve, reject) { var req = http.request({ host: '127.0.0.1', port: 4000, method: 'GET', path: '/api/v1/service' }, function(res) { if (res.statusCode < 200 || res.statusCode >= 300) { // First reject reject(new Error('statusCode=' + res.statusCode)); return; } var body = []; res.on('data', function(chunk) { body.push(chunk); }); res.on('end', function() { try { body = […]

Node.js http.request失败,并显示

我有像代理一样的node.js服务器。 它通过执行http.request来接收请求并将它们转发到另一个域上的Web服务。 请求选项通常类似于: { "host": "some.domain", "port": 443, "path": "/paht/item/id", "method": "POST", "headers": { "Host": "some.domain", "Content-Type": "application/json; charset=utf-8", "Content-Length": 100 } } 最近,我注意到一些请求失败, [Error: getaddrinfo EADDRINFO] ,但不是全部。 有谁知道EADDRINFO含义是什么,所谓的原因是什么?

对Node.js不支持HTTP方法的HTTP响应?

一般而言,这对于HTTP更具体,但是我使用Node.js作为我的平台。 在HTTP服务器上处理不被接受的HTTP方法时,最好的办法是什么? 目前,我支持PUT和GET,但不支持POST。 如果发出POST请求,我应该返回一个403还是405?

Express.js HTTP请求超时

我想知道是否有人可以告诉我什么时候使用Express的默认HTTP请求超时。 我的意思是:处理一个http请求多less秒后,Express / Node.js服务器closures连接,当浏览器和服务器手动closures连接时? 如何修改单个路由的超时时间? 我想把它设置为15分钟左右的特殊audio转换路线。 非常感谢。 汤姆

EADDRNOTAVAIL经过许多http.get请求到localhost

在28233请求之后,对localhost(Apache)执行了很多http.get-请求时,我得到了EADDRNOTAVAIL 。 破碎时: 我不能做一个http.request本地主机(约)10秒( EADDRNOTAVAIL ) 而这10秒钟 我可以做 curl http://localhost (Apache中没有错误,它仍然像魅力一样工作) 我可以做一个http.get-请求(从node.js)到www.google.com (该错误只影响到本地主机的请求) 10秒后 我可以再次对本地主机执行 http.request(就好像node.js已经治好了一样) 这是代码: var http = require( "http"); function httpRequest( callback ) { var options = { host: 'localhost', port: 80, path: '' }, data = ""; http.get(options, function(resp){ resp.on('data', function( chunk ){ data += chunk; }).on("end", function() { callback( null, […]

使用nodejsasynchronous和请求模块

我试图使用asynchronous和请求模块在一起,但我不明白如何通过callback。 我的代码是 var fetch = function(file, cb) { return request(file, cb); }; async.map(['file1', 'file2', 'file3'], fetch, function(err, resp, body) { // is this function passed as an argument to _fetch_ // or is it excecuted as a callback at the end of all the request? // if so how do i pass a callback to […]