Tag: http

来自http请求的Node.js响应在不包含'data'事件的情况下不调用'end'事件

所以我有一个简单的客户端应用程序与node.js中的服务器端应用程序进行通信。 在客户端,我有以下代码: function send (name) { http.request({ host: '127.0.0.1', port: 3000, url: '/', method: 'POST' }, function (response) { response.setEncoding('utf8'); response.on('data', function (data) { console.log('did get data: ' + data); }); response.on('end', function () { console.log('\n \033[90m request complete!\033[39m'); process.stdout.write('\n your name: '); }); response.on('error', function (error) { console.log('\n Error received: ' + error); }); […]

如何使用node.js http服务器从mongodb返回大量的行?

我在MongoDB中有一个用户数据库,我想通过JSON中的REST接口导出。 问题是在最坏的情况下,返回的行数已经超过200万。 首先我试过这个 var mongo = require('mongodb'), Server = mongo.Server, Db = mongo.Db; var server = new Server('localhost', 27017, {auto_reconnect: true}); var db = new Db('tracking', server); var http = require('http'); http.createServer(function (request, response) { db.collection('users', function(err, collection) { collection.find({}, function(err, cursor){ cursor.toArray(function(err, items) { output = '{"users" : ' + JSON.stringify(items) + '}'; response.setHeader("Content-Type", […]

http获取NodeJS如何获取错误状态码?

好吧,我必须是密集的,因为我无法find任何地方如何获得错误状态代码时使用Node.JS http.get或http.request。 我的代码: var deferred = $q.defer(); var req = https.get(options, function(response){ var str = ''; response.on('data', function (chunk) { str += chunk; }); response.on('end', function () { console.log("[evfService] Got user info: "+str); deferred.resolve(str); }); }); req.on('error', function(e){ deferred.reject(e); }); 在那个“req.on”位中,我想要的是http状态码(即401,403等)。 我得到的是一个半无用的错误对象,它不给我代码或任何对响应对象的引用。 我已经尝试拦截在函数(响应)callback,但是当有一个404,它永远不会被调用。 谢谢!

使用http.request获取node.js中的二进制内容

我想从https请求中检索二进制数据。 我发现一个类似的问题 ,使用请求方法, 获取二进制内容在Node.js使用请求 ,是说设置编码为空应该工作,但它不。 options = { hostname: urloptions.hostname, path: urloptions.path, method: 'GET', rejectUnauthorized: false, encoding: null }; req = https.request(options, function(res) { var data; data = ""; res.on('data', function(chunk) { return data += chunk; }); res.on('end', function() { return loadFile(data); }); res.on('error', function(err) { console.log("Error during HTTP request"); console.log(err.message); }); }) 编辑:设置编码为“二进制”也不起作用

使用Nodejs HTTP Server定制HTTP方法

目前通过HTTP编写同步机制,我开始在NodeJS上构build我的服务器,这看起来是一个很好的解决scheme。 好的,我可以使用GET和HEAD方法。 但只要我尝试使用非标准方法,例如“SYNC”。 代码如下: var http = require("http"); var server = http.createServer(function (req, res) { res.writeHead(200); res.end(req.method); }); server.listen(8080); 看起来不错…让我们telnet这个,发出一个GET,然后发出一个SYNC请求 mylaptop:~ aob$ telnet localhost 8080 Trying ::1… telnet: connect to address ::1: Connection refused Trying 127.0.0.1… Connected to localhost. Escape character is '^]'. GET / HTTP/1.1 HTTP/1.1 200 OK Connection: keep-alive Transfer-Encoding: chunked 3 GET […]

ECONNREFUSED错误,在其他客户端不会出现node.js错误

我正在用node.js客户端发出一个http请求,并且我得到一个ECONNREFUSED错误。 当我使用我的浏览器或curl(1)来做出相同的请求时,它工作得很好 这是节点请求: var options = { host: 'localhost', port: 8080, path: '/explorers/1.0/agegroup', method: 'GET' }; var req = http.request(options, function(res) { res.setEncoding('utf8'); res.on('data', function (chunk) { console.log('BODY: ' + chunk); }); }); req.on('error', function(e) { console.log(e); }); req.end(); 它给了我错误: { [Error: connect ECONNREFUSED] code: 'ECONNREFUSED', errno: 'ECONNREFUSED', syscall: 'connect' } 但是,当我用不同的客户端(在这种情况下, curl )作出相同的请求: $ […]

NodeJS和HTTP客户端 – 是否支持Cookie?

NodeJS是一个很棒的工具,而且速度非常快。 我想知道HTTPClient是否支持cookie ,如果可以用来模拟非常基本的浏览器行为 ! 帮助将非常感激! =) 编辑: 发现这个: node-httpclient (似乎有用!) 不工作!

强制closuresnode.js http服务器中的所有连接

我有一个http服务器创build使用: var server = http.createServer() 我想closures服务器。 大概我会这样做,通过调用: server.close() 但是,这只会阻止服务器接收任何新的http连接。 它没有closures任何仍然打开。 http.close()接受callback,并且在所有打开的连接实际上断开之前,该callback不会被执行。 有没有办法强制closures一切? 问题的根源在于我有Mochatesting,在他们的设置( beforeEach() )中启动一个http服务器,然后在他们的拆卸( afterEach() )中closures它。 但是,由于只调用server.close()不会完全closures,后续的http.createServer()通常会导致EADDRINUSE错误。 等待close()完成也不是一个选项,因为打开连接可能需要很长时间才能超时。 我需要一些方法来强制closures连接。 我能够做到这一点客户端,但强迫所有的testing连接closures,但我宁愿做服务器端,即只告诉http服务器硬closures所有套接字。

节点的SDCH压缩?

是否有节点的SDCH (共享字典压缩通过HTTP)库? (或者对于这个问题的其他实现?) 在npm上快速search没有任何结果。

在NodeJS中通过SOCKS5代理进行http请求

我打算通过Tor在NodeJS中执行一系列的HTTP请求。 Tor使用SOCKS5,所以我出去寻找一种方法来在NodeJS中提供HTTP请求。 我打算使用默认的http.request()函数来完成这项工作。 但是,我似乎无法find一种方法来使用代理。 有人build议我可以这样做: var http = require("http"); var options = { host: "localhost", port: 9050, path: "http://check.torproject.org", method: 'GET', headers: { Host: "http://check.torproject.org", } }; var req = http.request(options, function(res) { res.on('data', function (chunk) { console.log('BODY: ' + chunk); }); }); 但它没有工作。 那么,有什么build议?