Tag: http

在顺序HTTP请求阻止操作在节点?

请注意,对我的问题不相关的信息将被“引用” 像这样(随意跳过这些)。 问题 我正在使用节点代表多个客户端进行按顺序的HTTP请求。 这样,最初拿客户端几个不同的页面加载得到所需的结果,现在只通过我的服务器采取一个单一的请求。 我目前正在使用“asynchronous”模块进行stream量控制和“请求”模块进行HTTP请求。 大约有5个callback,使用console.time,从开始到结束需要大约2秒(草图代码如下)。 现在我对节点不熟悉,但是我知道节点的单线程本质。 虽然我已经多次阅读了这个节点,并不是为CPU绑定的任务而构build的,但是我直到现在才真正理解这个意思。 如果我对所发生的事情有正确的理解,这就意味着我目前所拥有的(在开发中)决不会超过10个客户。 题 因为我不是节点的专家, 所以我问这个问题(在标题中)来得到确认,使得几个连续的HTTP请求确实阻塞。 结语 如果是这样的话,我希望我会问一个不同的SO问题(在做适当的研究之后)讨论各种可能的解决scheme,如果我select继续在节点中处理这个问题(这本身可能不适合我正在尝试的去做)。 其他闭幕的想法 如果这个问题不够详细,太不清白,或者特别花言巧语(我尽量简洁),我真的很抱歉。 感谢和所有的人都可以帮助我的问题! 我之前提到的代码: var async = require('async'); var request = require('request'); … async.waterfall([ function(cb) { console.time('1'); request(someUrl1, function(err, res, body) { // load and parse the given web page. // make a callback with data parsed from the web […]

节点http.request什么也不做

var http = require('http'); var options = { method: 'GET', host: 'www.google.com', port: 80, path: '/index.html' }; http.request( options, function(err, resBody){ console.log("hey"); console.log(resBody); if (err) { console.log("YOYO"); return; } } ); 出于某种原因,这只是超时,不logging任何东西到控制台。 我知道我可以require('request')但我需要使用http来兼容我正在使用的插件。 另外,我的版本的背景:节点是v0.8.2

Node.js HTTP代理修改主体

我想要编程的Node.js http代理将能够修改响应正文。 到目前为止, http = require('http'), httpProxy = require('http-proxy'); var proxy = httpProxy.createProxyServer(); http.createServer( function (req, res){ //here I want to change the body I guess proxy.web(req, res, { target: req.url }); }).listen(8013); 我试图使用res.write() ,但它给了我一个错误“发送后无法设置标题”。 那么我不想改变头,我想改变身体。 我如何改变身体? 任何build议将不胜感激。

使用Meteor(CFS)下载远程图像

所以,我试图找出如何下载远程图像,然后使用CollectionFS存储下载的图像。 我试图在CFS中使用自动URL处理,但是我正在下载图像的主机已禁用HEAD请求,所以我无法使用它。 我要么使用Meteor.get,要么使用NPM的“请求”,但是我不太了解如何将这两者结合起来以获得所需的结果。 任何想法将不胜感激。 我所知道的只是在Meteor.get请求中使用这个URL,但在那之后,我真的迷失了方向。 这是我到目前为止所得到的,但是我不知道如何处理请求的结果: var result = HTTP.get(url); 我只假设我应该用result.body(按照Meteor文档)做某件事情,但是我不知道如何正确编码这个对象,以便它可以被推送到本地的CFS集合中。

如何处理“未处理”错误“事件”错误 – NodeJS

我正在尝试Node.js。 这是我玩的非常简单的代码 var http = require('http'); http.get('www.google.com', function(res) { console.log(res.statusCode); }); 运行此代码时出现以下错误 events.js:141 throw er; // Unhandled 'error' event ^ Error: connect ECONNREFUSED 127.0.0.1:80 at Object.exports._errnoException (util.js:837:11) at exports._exceptionWithHostPort (util.js:860:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1060:14) 在阅读错误输出时,我添加了两行代码来处理下面的错误事件 var http = require('http'); http.get('www.google.com', function(res) { console.log(res.statusCode); res.on('error', function(error) { console.error(error); }); }); 但同样的错误信息仍然存在,我在哪里搞砸了?

为什么发送API状态码?

我用node.js构build我的第一个API,并想知道是否需要确保每个响应都发送一个状态码,或者只需使用一个布尔值就可以了。 对于安全还是其他? 所以代码明智: return res.status(403).send({ message: 'No token provided.' }); 与 return res.json({ success: false, message: 'No token provided.' }); 谢谢。

为什么这个http服务器这样做?

我是新来的节点,我试图运行本地服务器。 我遵循这个简单的步骤: 安装一个简单的节点服务器 。 我移动到我有index.html文件的文件夹: 我运行http-server然后浏览到http:// localhost:8080 /这就是我得到的: 我不知道我在做什么错。

如何限制节点中简化HTTP请求的内容长度响应?

我想设置简化的HTTP请求()客户端软件包来中止太大的HTTP资源的下载。 假设request()被设置为下载一个url,并且资源大小是5千兆字节。 我想request()在10MB之后停止下载。 通常,当请求获得答案时,它会获得所有的HTTP标题以及后面的所有内容。 一旦你操作数据,你已经有了所有的下载数据。 在axios中,有一个名为maxContentLength的参数,但是我找不到任何类似于request()的东西。 我还必须提及,我不是要捕获一个错误,而只是至less下载头文件和资源的开始。

express和http之间的技术区别是什么,并为此连接

var express = require("express") , app = express() , http = require("http").createServer(app) 我经常看到这些被放在依赖关系。 从我的理解来看,http主机的前端html? 并表示拥有服务器端的nodejs逻辑? 连接是快递的基础层,所以也是一个服务器端模块? 如果情况并非如此,为什么人们不这样做 express().listen(8080) 代替 require("http").createServer(express()).listen(8080)

Express.js res.send – 是否在Node.js手册?

http://expressjs.com/ var app = express.createServer(); app.get('/', function(req, res){ res.send('Hello World'); }); app.listen(3000);` 我无法在Node.js手册中find有关res.send的相应引用: http://nodejs.org/docs/v0.4.12/api/http.html#http.ServerResponse 这是一个无证的属性,或身份证属性是HTTP的固有部分? 如果是这样,我在哪里可以find相应的所有属性的参考?