Articles of http

Nodejs Http请求没有响应

目前使用http GET到外部API。 当被单独调用时,响应是好的。 当放在for循环中时,有些请求似乎没有响应。 这是http GETfunction: function httpGetChunk(url, callback) { http.get(url, function(resp) { var body=''; resp.on('data', function(chunk) { body += chunk; //chunk too large from this response }); resp.on('end', function() { var data = JSON.parse(body); callback(data); }); resp.on("error", function(e) { console.log("Got error: " + e.message); }); }); } 当我在for循环中为5个不同的url调用GET函数时,我只能得到其中一些的响应。 经过几次,回应将来自被叫url的不同组合,但从来都不是。 任何见解? 编辑1:为了提供更多信息,我的for循环看起来像这样。 for (var i=0;i<5; […]

在Node.js中使用stream缓冲HTTP通信

我试图在Node.js中使用stream,基本上build立一个正在运行的HTTP数据缓冲区,直到一些处理完成,但我正在努力的stream的细节。 一些伪代码可能会帮助: var server = http.createServer(function(request, response) { // Create a buffer stream to hold data generated by the asynchronous process // to be piped to the response after headers and other obvious response data var buffer = new http.ServerResponse(); // Start the computation of the full response as soon as possible, passing // in […]

如何创build一个httpredirectHTTP请求进入端口80到HTTPS端口443?

我想创build一个状态301redirect从像http://whatever.com/whatever?whatever的任何一个url到https://whatever.com/whatever?whatever 。 我使用node.js,但我怀疑答案是特定于节点的。 我知道你可以用这样的url写下“Location”头文件: response.writeHead(301, { 'Location': request.url }); response.end(); 但是,如何指定我要redirect到https?

什么是“GET http://httpheader.net 301”在我的nodejs应用程序?

我在我的nodejs应用程序中看到类似这样的内容…我是否受到黑客攻击? GET http://httpheader.net 301 5.464 ms – 108 GET http://www.httpheader.net/ 200 6.820 ms – – 非常感谢你

NodeJS数据吞吐量

我build立了一个可以被客户端访问的NodeJS服务器。 每过一段时间,都需要让服务器连接到另一台服务器,并将检索到的信息反馈给客户端。 连接到第二台服务器是很容易的部分,但说实话,我不知道如何将其发送回客户端。 res.write似乎在与第二台服务器连接时被禁止。 来自客户端的连接由handleGetRequest处理。 与第二个服务器的连接从http.get开始。 var http = require('http'); var url = require('url'); var server = http.createServer(function(req, res) { var url_parsed = url.parse(req.url, true); if (req.method ==='GET') { handleGetRequest(res, url_parsed); } else { res.end('Method not supported'); } }); handleGetRequest = function(res, url_parsed) { if (url_parsed.path == '/secondary') { var OPTIONS = { hostname: "localhost", […]

http请求获取正文

如果这个问题太明显,我是一个初学者,所以请原谅。 另外我尝试了官方文档,但我可以解决这个问题。 我的节点服务器通过服务与外部API进行通信。 这是我到目前为止在我的服务api-service.js: var http = require('http'); exports.searchNear = function(lat, long, next){ var options = { host: '1xx.xx.1xx.1x', path: '/api/v1/geo, method: 'GET' }; var req = http.request(options, function(res) { var msg = ''; res.setEncoding('utf8'); res.on('data', function(chunk) { msg += chunk; }); res.on('end', function() { console.log(JSON.parse(msg)); }); }); req.on('error', function(err) { // Handle error }); […]

Node.js使用http postlogin并在login后获取数据

如何使用Node.js http POST,GET执行以下操作? login到abc.com(这是一个带login表单的login页面) 在login后的页面中,使用POST填充另一个表单,并在发布表单后获取结果。

如何用twilio收到短信?

我刚刚开始与twilio。 我想在我的node.js服务器上收到一条短信,并对其进行处理。 我假设消息可以在callback中处理。 这到底怎么了? 我已经search了一个例子,但似乎没有非常明确的文件。 如果你能告诉我这是怎么做的,我很想知道。 我正在寻找一个nodejs实现这个简单的过程。 谢谢!

根据URLpath创build代理

我需要根据来自浏览器的一些URL创build代理,因为我相当新的这个主题林不知道如何testing它:(我需要一些方法来testing它,看看这实际上是工作从这个博客使用下面的代码 http://blog.nodejitsu.com/node-http-proxy-1dot0/ var httpProxy = require('http-proxy') var proxy = httpProxy.createProxy(); var options = { 'foo.com': 'http://website.com:8001', 'bar.com': 'http://website2.com:8002' } require('http').createServer(function(req, res) { proxy.web(req, res, { target: options[req.headers.host] }); }).listen(8000); 我需要的是当你把浏览器localhost:8000你将路由(代理)到新的服务器与不同的path,如选项中所述。

Node.js可以强制更大的POST请求块大小吗?

这可能超出了Node.js可以控制的范围,但是对于这个问题的其他解决scheme的任何指针也都会受到赞赏。 我正在通过HTTP POST将大file upload到Node.js服务。 当它在本地运行或者在局域网上运行时,服务器接收的块总是65536字节,上传速度很快。 当我将相同的file upload到在远程服务器上运行的相同代码(Google Cloud VM或co-lo上的真实硬件)时,接收到的数据块在1448-2869字节之间,上传速度要慢得多(远低于带宽限制的连接)。 我不知道决定在哪个地方发送更小的数据块,如果是由客户端软件执行的计算(curl和node.js客户端产生相同的结果),或者是路由硬件,切分数据包之间,或者完全不同的东西。 我想知道是否有任何事情可以做到强制更大的块到服务器,或者可能是一种替代方法,克服与处理这些小块相关的服务器冲突?