Tag: http

为什么网页如果有404就永远加载?

我有一个用Heroku托pipe的Express.js / Node.js网站。 如果找不到文件,服务器应该发送一个404错误(像大多数网站一样)。 但是我的代码中的error handling程序无法正常工作。 当客户端请求一个不存在的文件,页面将加载…并加载…并加载…永远。 当检测到文件无法find时,如何使服务器停止加载? 这是我的JavaScript的第一部分: var express = require('express'); // Express.js var app = express(); var http = require('http'); var server = http.createServer(app); var bodyParser = require('body-parser'); var postgres = require('pg'); // Postgres database app.use(express.static('static', { extensions: ['html'] })); app.all('*', function (request, response, next) { var redirectURL = request.query.redirect; if (redirectURL […]

推迟Node.js的HTTP请求,如果类似的工作已经完成

我正在做一个服务,从远程主机检索一张照片,并在将其传递给客户端之前进行一些处理。 它在本地caching检索的源照片,以避免以后再次检索。 但是,如果连续有多个请求,则源图像将不会保存在本地,而是执行不必要的检索。 什么是一个很好的方法来推迟传入的请求,直到源图像被caching,只要它已经被检索? 目前,我正在使用来自入站请求stream的Node.jsstream,通过caching和转换逻辑传递它,并将其传递给出站stream。

http.get()方法和var request = require('request')有什么区别

我是新来的节点JS,在learnyounode的nodeJS练习no.8中,我的解决scheme产生相同的require结果。我很困惑什么时候使用http.get和Request 目标 :编写一个执行HTTP GET请求的程序给你提供的URL 作为第一个命令行参数。 从服务器收集所有数据(不是 只是第一个“数据”事件),然后写两行到控制台 (标准输出)。 你写的第一行应该只是一个表示数字的整数 从服务器收到的字符。 第二行应该包含 完成服务器发送的string。 官方解决scheme var http = require('http') var bl = require('bl') http.get(process.argv[2], function (response) { response.pipe(bl(function (err, data) { if (err) return console.error(err) data = data.toString() console.log(data.length) console.log(data) })) }) 我的解决scheme var request=require('request') request(process.argv[2],function(err,response,body){ console.log(body.length); console.log(body); })

用于REST API的可移植Javascript客户端

我即将为REST式Web服务创build一个基于JavaScript的客户端。 客户端应该方便访问web服务,并将一些原始的HTTP调用包装成更多“糖果”function和对象。 我打算将这个客户端库用于基于node.js的应用程序以及PhoneGap。 所以,我不必关心同源政策。 但是,调度HTTP请求在PhoneGap和node.js中是完全不同的。 现在我想知道如何在JavaScript中实现一个客户端库,可以在不同的“平台”(node.js,PhoneGap,也许以后甚至是浏览器)之间移植? 提前致谢

使用NodeJS,parsingfile upload的最佳方式是什么?

简短的总结:如何接受可能是无止境的,不能立即上传的内容(连接需要保持活跃),在我是服务器的情况下,我希望客户端使用RESTful(或什么东西closures)的方式? 以同样的方式,我可以使一个HTTP服务器,保持与客户端的连接活着,并可能继续发送客户端读取和parsing(可能使用浏览器)的内容,我需要保持与客户端打开连接向我发送可能无法结束或不断上传的数据。 一种(简单)的方法就是使用TCP服务器,然后客户端将数据写入套接字。 但是,我怎么做一个HTTP PUT请求呢? 这回答了一半的问题:“我将如何parsingfile upload连续,没有上传完成? 但是,客户端如何继续上传一些甚至不是文件并且是独立数据块的东西,就像他们将这些数据块写入套接字一样? 这甚至有可能吗?

浏览器做什么时,有一个JavaScript src文件不chached?

它是否发送指定文件的HTTP GET请求? 我试图写我自己的NodeJSnetworking服务器,并想知道如何处理发送浏览器所需的JavaScript文件。 比方说,我正在使用几个JavaScript库为我正在build设的networking应用程序,并为他们每个人在我的HTML文件的头部有一个脚本标记(例如<script type="text/javascript" src="jquery.js"></script> )。 在我的服务器中,是否能够根据请求的src调用不同的函数,并返回一个不一定与HTML所期望的位置相同的文件? 我还是一般的NodeJS和networking服务器的新手,所以我很抱歉,如果这真的是其他人在那里…

用于后台处理的Websockets

使用Websockets(comet,server push,…)来克服长时间运行的HTTP请求的问题是一个好主意吗? 想象一下,你有一个应用程序,build立在全栈Web应用程序框架,如Django或Rails。 你想以表演的名义做一些后台处理。 从程序员的angular度来看,这很容易做到,但问题出现在UI中。 用户需要立即响应。 所以我的想法是使用Socket.IO + node.js + AMQP消息传递,在后台任务完成后将通知推送回浏览器。 我喜欢这个想法,但是它仍然感觉像很多工程,只是因为我们不想在我们的主应用程序中长时间运行请求。 竞争的想法可能是使用另一个更强大的Web服务器,它可以处理许多长时间运行的HTTP请求。 你认为哪一个更好?

Node.JS分段上传到脸谱图

我试图上传一张照片到Facebook,我无法find似乎得到multipart上传工作。 我找不到任何文档或库。 有没有其他人有这个运气?

我可以请求脚本在Spotify应用程序中使用吗?

我正在尝试在我的Spotify应用程序中使用socket.io,并且[domain] /socket.io/socket.io.js的获取请求不断被取消。 我已经将该域添加到清单和所有内容。 谢谢!

Twitterstream媒体API – Node.js返回未经授权的错误(OAuth)

我正尝试使用http.get通过OAuth连接到Twitters Streaming API,虽然我有一个小问题。 脚本不断返回未经授权 我使用的代码如下,任何人都可以告诉我,如果我失去了一些愚蠢的东西或我的头不正确。 var https = require('https'); var options = { host: 'stream.twitter.com', path: '/1.1/statuses/filter.json?track=bieber', method: 'GET', headers: { authorization: ' OAuth oauth_consumer_key = "", oauth_nonce = "", oauth_signature = "", oauth_signature_method = "HMAC-SHA1", oauth_timestamp = "", oauth_token = "", oauth_version = "1.0" ' } }; var req = https.request(options, function(res) { res.setEncoding('utf8'); […]