Articles of http

http.get通过vpn +节点

我希望能够通过我自己的vpn节点做一个http.get请求,但似乎喜欢的function是传递网站到DNS,而不是看我的VPN。 以下代码与谷歌作为主机。 http = require('http'); var host = "www.google.com"; var options = {host:host, port:80, path:'/'} http.get( options, function( res ){ res.setEncoding('utf8'); res.on( 'data', function( chunk ){ console.log( chunk ); }); }); 但是当我更改主机到a_site_on_my_vpn.com它会引发域名未find错误,但是当我在Firefox上键入a_site_on_my_vpn.com我能够加载页面。 我想我可以解决这个问题的一个方法是找出主机名的IP,但有没有更简单的方法? :d 我解决了我自己的答案,但要回答在后续的问题,答案是肯定的这里是一个片段,表明,通过做一个DNS IP查找,然后去IP谷歌。 var dns = require('dns'); var http = require('http'); dns.resolve4('www.google.com', function (err, addresses) { if (err) throw err; console.log('addresses: ' […]

Node.js服务器没有收到AJAX请求?

我使用Express和Node.jx 0.6.7。 服务器是EC2小实例 出于某种原因,Node.js有时不会收到我的ajax请求(有时)。 萤火虫会说“待定…”,纺车将显示。 我的node.js服务器实际上需要大约30秒的时间。 (当我打它,我console.log,检查)。 我读过一个浏览器只允许6个并行连接的信息。 但是,在我的Firebug中,我从来没有超过3个! 事实上,我确定一切都加载,所有我的Ajax请求加载。 当我看到所有东西都加载后,我“点击”调用AJAX …并挂起。 这是唯一的旋转装载轮。 其他一切都被加载…所以同时连接不能成为问题,对不对? 服务器返回响应非常快 – 问题是它没有收到响应。 从字面上看,服务器直到30秒之后才得到请求。 这同样发生在静态图像上。 (基本上是任何请求,这真的是随机的) 我使用的是Firefox 10和Chrome(最新的稳定版),发生这种情况。 在Safari上,它永远不会发生。 这是随机的,这个问题发生在不同的地方。 注意:这不会发生在我的EC2 Micro实例中(仅在我的小实例中)。 他们都是Ubuntu的最新版本。 屏幕截图: http : //i.imgur.com/X7801.png (你可以看到,只有一个微调,其他所有的东西都返回了,服务器并没有承受很重的负载,这是空闲的,但是服务器没有收到请求) 注意:我正在使用AWS Load Balancer,但这不是问题,因为我已经closures了,但仍然在发生。

NodeJS文件下载与WGET?

我正在尝试使用nodejs的WGET方法创build文件下载。 我find了这个: var exec = require('exec'); // Function to download file using wget var download_file_wget = function(file_url) { // extract the file name var file_name = url.parse(file_url).pathname.split('/').pop(); // compose the wget command var wget = 'wget -P ' + DOWNLOAD_DIR + ' ' + file_url; // excute wget using child_process' exec function var child = […]

如何上传文件,然后通过Nodejs(expressjs)将其发送到另一台服务器

用户使用input(type =“file”)在服务器上上传文件 req.files.avatar访问服务器端的文件 我怎样才能发送这个文件(req.files.avatar)通过HTTP POST方法(名称=“头像”)到另一台服务器。 我不想在发送前存储它。

确定是否socket.io TCP或HTTP

这是我的节点服务器 var io = require('socket.io').listen(8889); io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); }); 我正尝试从socket.io.js的帮助下从客户端连接到这个节点服务器 我没有任何连接问题 我的要求是我想创build一个客户端可以连接的TCP连接 但是我怎么知道并确认服务器是TCPtypes还是HTTPtypes

Node.js如何parsing/执行JavaScript从节点服务器接收?

我是新的节点,我有以下问题,我有一个http://mydomain.com/mypage.php做一些东西,我想打电话http://mydomain.com:8080 (其中位于节点服务器)。 var server = require('http').createServer(function(req, res){ res.writeHead(200, {'Content-Type': 'text/javascript'}); res.end('$("#messages").append("<br> test123");'); }); server.listen(8080); 似乎工作,因为我收到我的客户: $("#messages").append("<br> test123"); 但代码收到,不执行! 任何想法 ? 预先感谢Dany PHP代码简化(mypage.php): <!DOCTYPE html> <html lang="en"> <head> <title>demo game </title> <script src="/js/jquery-1.8.3.min.js"></script> <script src="http://127.0.0.1:8080"></script> </head> <body> <div id="messages"></div> <input type="text" id="text-input"> <input type="button" value="Send" id="send-button"> </body> </html>

Node.js限制stream

我正在尝试创build一个Node.js HTTP文件stream媒体服务器。 我想要做到以下几点: 发件人–HTTP POST–> HTTP –HTTP POST–> Node.js HTTP服务器<–HTTP GET–收件人 我已经使用下面的代码: var app = express(); // … app.post('/upload', function (req, res) { // Get the `req` and `res` arguments of the HTTP GET request var downloadRequest = getDownloadClientRequest(); // parse a file upload var form = new formidable.IncomingForm(); form.onPart = function (part) { if […]

Node.JS:客户端请求被中断后postdata会发生什么?

在HTTP (v0.8.20) 的Node.JS文档中 ,在ServerRequest下,我看到data和end事件。 我没有看到error的事件。 通常,如果在接收数据时发生中断,我可以通过查看error来检测。 但是,这将工作postdata? 我怎样才能确定是否收到整个postdata,并且不会因为networking故障而被截断?

为什么在Node.js中有http.get,但没有http.post?

我知道http暴露get因为它是这样一个经常使用的方法,用Node:Up和Running的作者的话来说,但我不知道为什么没有类似的post方法。 我知道这个post也必须要一个身体,但这似乎是微不足道的。 所以为什么?

请求来自不存在的站点的HTTP响应时,Node.js脚本将中断

使用Node.js,当请求HTTP响应时,在最佳情况下,请求返回一个HTTP响应。 但是,有时请求会因为网站的404代码或网站根本不存在而中断。 当请求一批URL时,如果在所请求的1000个URL中有第404个代码(例如,第200个URL),则整个脚本会中断。 这是我的代码: var hostNames = ['www.gizmodo.com','www.sitethatdoesnotexist123.com','www.google.com']; for (i; i < hostNames.length; i++){ var options = { host: hostNames[i], path: '/' }; (function (i){ http.get(options, function(res) { var obj = {}; obj.url = hostNames[i]; obj.statusCode = res.statusCode; obj.headers = res.headers; db.scrape.save(obj); }).on('error',function(e){ console.log("Error Site: " + hostNames[i]); }); })(i); }; 有没有办法,例如,如果该网站不存在,我只是跳到下一个url,而不是脚本中断? 编辑:修正。 感谢用户DavidKemp