Articles of http

Heroku Node.js node-http-proxy模块没有这样的应用程序错误

我试图将stream量从我的testing应用程序的/ api / * urlredirect到Heroku托pipe的我的api。 因此,应将localhost / api / hello代理到testapp.heroku.com/hello,并返回响应。 使用node-http-proxy在localhost到localhost上完美工作,但是当我将它指向myapp.heroku.com时,我得到这个错误: Heroku | No such app There is no app configured at that hostname. Perhaps the app owner has renamed it, or you mistyped the URL. 我感觉Heroku的路由系统正在欺骗我的代理请求,而且我还没有find解决这个问题的方法。 有任何想法吗?

在获取大量图像下载的同时在Node.js http.get中包含超时

这是我一直用来从url下载图片的代码: http.get(options, function (res) { res.on('data', function (data) { file.write(data); }).on('end', function () { file.end(); console.log(file_name + ' downloaded '); cb(null, file.path); }).on('error', function (err) { console.log("Got error: " + err.message); cb(err, null); }); }); 如何为每个请求添加一个超时,以便它不会一直等待大数据或无响应的响应?

WebSocket服务器不支持SSL

我有一个使用websockets的工作聊天应用程序。 我想更进一步,并在我的连接上启用encryption,但是当我使用https连接到http服务器时,我的连接开始失败。 我在我的所有网站(在同一顶级域名(TLD)下提供了自签名证书,这意味着它是通配证书)。 我可以确认这是一个有效的证书,所以问题不应该在那里。 这是什么工作(未encryption) var webSocketServer = require('websocket').server; var http = require('http'); var server = http.createServer(function() {}); server.listen(webSocketsServerPort, function () { log("system", "Server is listening on port " + webSocketsServerPort); }); var wsServer = new webSocketServer({ httpServer: server }); 现在我可以连接到ws://my.domain:port 。 这是不行的 var webSocketServer = require('websocket').server; var http = require('https'); var fs = require('fs'); […]

如何使用NodeJS创buildstream媒体API

你将如何去创build一个stream媒体API的节点 ? 就像TwitterstreamAPI一样 。 我最终想做的是从FriendFeed api获得第一个更新,当新的可用(如果id不同),然后将其公开为Web服务,所以我可以在我的WebSockets上使用它网站:)。 到目前为止,我有这样的: var sys = require('sys'), http = require('http'); var ff = http.createClient(80, 'friendfeed-api.com'); var request = ff.request('GET', '/v2/feed/igorgue?num=1', {'host': 'friendfeed-api.com'}); request.addListener('response', function (response) { response.setEncoding('utf8'); // this is *very* important! response.addListener('data', function (chunk) { var data = JSON.parse(chunk); sys.puts(data.entries[0].body); }); }); request.end(); 哪个只从FriendFeed获取数据,创build带有节点的Http服务器很容易,但不能返回一个stream(或者我还没有find如何)。

如何捕捉不存在的主机上的node.js http错误?

当我试图使用http模块访问不存在的主机,如下所示: requestToRemote = http.createClient(80, 'fjasdfhasdkfj.vvvxcz').request( method, path, headers ); 但是我得到以下错误: node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: getaddrinfo ENOENT at errnoException (dns.js:31:11) at Object.onanswer [as oncomplete] (dns.js:140:16) 我想赶上这个错误,所以我试过try / catch和设置一堆请求属性的错误侦听器,但没有任何工作。 我怎样才能捕捉到错误?

如何使用node.js和Request包禁用HTTP头中的“withcredentials”?

从浏览器(通过browserify )使用node.js和Request包,我使用CORS在单独的域上执行HTTP GET请求。 在服务器上,当我将'Access-Control-Allow-Origin'设置为通配符'*' ,客户端上出现以下错误: XMLHttpRequest无法加载….当凭证标志为真时,通配符“*”不能在“Access-Control-Allow-Origin”标头中使用。 原因'…'因此不被允许访问。 HTTP请求标题如下所示: Accept:*/* Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8,ja;q=0.6 Access-Control-Request-Headers:withcredentials Access-Control-Request-Method:GET Cache-Control:no-cache Connection:keep-alive Host:localhost:3000 Origin:http://localhost:9966 Pragma:no-cache Referer:http://localhost:9966/ User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 所以清楚的问题是Access-Control-Request-Headers:withcredentials在头文件中Access-Control-Request-Headers:withcredentials ,对不对? 为了能够删除这个,我需要将'XMLHttpRequest'对象的'withcredentials'属性设置为'false'。 然而,我无法弄清楚node.js或Request包在创build“XMLHttpRequest”对象,我甚至可以访问它。 谢谢。

讨论:通过node.js聊天服务器:HTTP还是TCP?

我正在考虑使用node.js / socket.io做一个聊天服务器。 我应该使它成为一个TCP服务器或HTTP服务器? 我想tcp服务器会更有效率,但你可以发送其他东西,如文件附件等? 如果tcp更高效,还有多less呢? 另外,只是想知道一个node.js服务器可以处理多less个并发连接? 是更多的工作做TCP或HTTP?

通过PHP或Apache从服务器端上传HTTP文件

在将大文件(> 100M)上传到服务器时,PHP总是首先从浏览器接受全部数据POST。 我们无法注入上传过程。 例如,在我的PHP代码中,在将整个数据发送到服务器之前检查“ token ”的值是不可能的 : <form enctype="multipart/form-data" action="upload.php?token=XXXXXX" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="3000000" /> Send this file: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form> 所以我尝试使用这个mod_rewrite : RewriteEngine On RewriteMap mymap prg:/tmp/map.php RewriteCond %{QUERY_STRING} ^token=(.*)$ [NC] RewriteRule ^/upload/fake.php$ ${mymap:%1} [L] map.php #!/usr/bin/php <?php define("REAL_TARGET", "/upload/real.php\n"); define("FORBIDDEN", "/upload/forbidden.html\n"); $handle = fopen ("php://stdin","r"); […]

如何在Node.js Express应用程序中将来自远程URL的文件作为GET响应发送?

上下文:使用Express的多层Node.js应用程序。 前端作为Azure网站托pipe,后端数据来自Parse。 我有一个GET端点,我希望用户体验是一个文件下载。 如果该文件与我的前端位于同一台服务器上,则可以使用 res.sendfile(localPath); 然而,该文件是由我的后端托pipe在另一台服务器上,我的前端知道的是URL。 所以我现在正在做: res.redirect(externalURL); 这导致浏览器导航到资产文件URL(这是一个video),并显示在浏览器中。 我想知道的是: 如何让浏览器下载该文件,而只是停留在同一页面? 我在这里search了一段时间,没有先将文件下载到我的前端的临时文件,我不明白这样做的方式,我显然不这样做。 这可能是HTTP 101的东西,所以我感谢任何帮助!

Python – ConnectionError:超过最大重试次数

当我的服务器(称为服务器A)向另一个服务器(所有服务器B)上的资源发出请求时,偶尔会出现此错误: ConnectionError: HTTPConnectionPool(host='some_ip', port=some_port): Max retries exceeded with url: /some_url/ (Caused by : [Errno 111] Connection refused) exception中的消息是 message : None: Max retries exceeded with url: /some_url/ (Caused by redirect) 我之所以包含它是因为它有额外的信息(caused by redirect) 。 正如我所说,我控制这个请求中涉及的两台服务器,所以我可以对其中一个和/或两个进行更改。 此外,错误似乎是间歇性的,因为它不会每次都发生。 潜在的相关信息 – 服务器A是运行Apache的Python服务器,服务器B是NodeJS服务器。 我不完全是一个Web服务器向导,除此之外,我不确定哪些信息是相关的。 有没有人确切知道这个错误意味着什么,或者如何去调查修复? 或者,有没有人知道哪个服务器可能是问题,提出请求的那个,还是接收的? 编辑:错误已经开始与我们的外部networking资源调用也发生。