Articles of url

node.js – socket.ioparsing请求的url

我想分析一个请求的url。 当我使用websocket.io时,我有一个请求对象,我可以parsing。 我怎么能用socket.io做到这一点? 例: http://localhost:4000/foo 我怎样才能摆脱“富”? 我试过了: io.sockets.on('connection', function (socket) { console.log(socket.handshake.address.address); console.log(socket.handshake.url); } 但它不打印“foo”

Express框架app.post和app.get

我对expression式框架相当陌生。 我无法在express API参考中findapplication.post()方法的文档。 有人可以提供一些我可以放在函数中的所有可能参数的例子吗? 我用下面的例子读了几个网站,第一个参数是什么意思? 我知道第二个参数是callback函数,但是我们究竟把第一个参数放在什么地方呢? app.post('/', function(req, res){ 另外,假设我们希望用户以特定的格式([{id:134123,url:www.qwer.com},{id:131211,url:www.asdf。 COM}])。 然后,我们要提取ID的ID,并从我们的服务器的某个地方检索这些ID的数据。 我们如何编写允许我们操作对象数组input的app.post方法,以便我们只使用这些对象的ID(键)来检索必要的信息,而不pipe对象中的其他键。 鉴于任务的描述,我们是否必须使用app.get()方法? 如果是这样,我们将如何编写app.get()函数? 非常感谢您的投入。

我如何使用MongoDB / Node.js创build友好的URL?

例如,假设在devise一个博客应用程序,我想要的东西 domain.com/post/729 代替 domain.com/post/4f89dca9f40090d974000001 Ruby有以下内容 https://github.com/hakanensari/mongoid-slug 在Node.js中是否有一个等价物?

如何在node.js中安全地将本地文件path转换为文件::?/ url?

我有本地文件path(在node.js中),我需要将它们转换成file:// url。 我现在正在看https://en.wikipedia.org/wiki/File_URI_scheme ,我觉得这一定是一个解决的问题,有人必须有一个片段或NPM模块来做到这一点。 但是,然后我尝试searchnpm这个,但我得到这么多cruft它并不好笑(文件,url和path是像每个包一样的search命中:)与谷歌和SO一样。 我可以做这个天真的做法 site = path.resolve(site); if (path.sep === '\\') { site = site.split(path.sep).join('/'); } if (!/^file:\/\//g.test(site)) { site = 'file:///' + site; } 但我很确定这不是要走的路。

节点请求抛出:错误:无效的URI“www.urlworksinbrowser.com”或options.uri是必需的参数

我在Ubuntu 12.04上使用Node v0.10.11。 我不知道我错过了什么使一个urlstream的请求模块工作。 这个程序正在尝试去邮件列表网站,find每个月的下载链接,然后每个月下载一次。 mikeal的自述文件中提到:“第一个参数可以是一个url或一个选项对象,唯一需要的选项是uri,其他所有的都是可选的uri || url – 来自url.parse()的完全限定的uri或parsing的url对象。 如果我打电话给url.parse(www.targeturl.com),我得到[错误:options.uri是必需的参数]如果我不使用url.parse,我得到[错误:无效的URI“www.freelists.org / archive / si-list / 06-2013“](这个链接在我的浏览器中工作得很好) 我把代码缩减到了42行。 任何意见欢迎 var request = require('request'), url = require('url'), stream = require('stream'), cheerio = require('cheerio'), // a reduced jQuery style DOM library Transform = require('stream').Transform var DomStripStream = function(target) { this.target = target; stream.Transform.call(this,{objectMode: true}); } DomStripStream.prototype = […]

Uncaught TypeError:URL不是使用WHATWG URL对象支持电子的构造函数

我正在尝试使用此处的 WHATWG URL对象支持来读取文件 我得到这个错误:Uncaught TypeError:URL不是一个构造函数 这里是我的代码: var fs = require("fs"); const { URL } = require('url'); var dbPath = 'file://192.168.5.2/db/db.sqlite'; const fileUrl = new URL(dbPath);

Express.js中的默认路由

我正在写一个应用程序与node.js和expression。 我已经设置了一个默认路由,如下所示: app.get('/', function(req, res){ res.sendfile('./views/index.html'); }); 当我goto / localhost:port / 但在URL后面input任何东西时,/ localhost:port / blah我得到了404错误,这是有道理的。 我想设置一个默认路由,这样无论我在localhost:port /后面input什么URL,它都应该得到相同的html文件。 我试着改变/ *: app.get('*', function(req, res){ res.sendfile('./views/index.html'); }); 但是当我这样做后,我开始在控制台中得到这个错误,什么也没有显示: 未捕获的SyntaxError:意外的标记< 在我所有的Javascript文件中::3000 / scripts / myscript.js:1 不知何故,我的JavaScript文件显示HTML的内容 ===编辑==== 我用这个,它为一级url工作正常:像loclhost:端口/等等 app.use(function(req, res){ res.sendfile('./views/index.html'); }); 但是当URL是多层时,我看到与前面描述相同的问题localhost:port / blah / foo这里的问题是路由器正在寻找/ blah文件夹下的所有JavaScript和CSS文件的公共目录,这样做不存在。 它将返回默认的HTML文件。 我该如何解决? ==================编辑张贴整个代码=========================== ============== var http = require('http'); var express = […]

Node.js:在win1251字符集中发送http请求

如何在win1251字符集中发送以下查询? var getData = querystring.stringify({ type: "тест", note: "тест1" }), options = { host: config.host, path: config.path + '?' + getData, method: 'GET' }; http.request(options, function (res) {…}).end();

如何处理快递中的非UTF-8编码的url

我们有一个节点js应用程序,我们最近从IIS 7上运行(通过IIS节点)转移到在Linux(Elastic Beanstalk)上运行。 由于我们切换,我们已经得到了很多非UTF-8url被发送到我们的应用程序(主要来自抓取工具),例如: Bj%F6rk IIS正在转换为Björk 。 这现在正在传递给我们的应用程序,我们的Web框架(快递)最终呼吁 decodeURIComponent('Bj%F6rk'); URIError: URI malformed at decodeURIComponent (native) at repl:1:1 at REPLServer.self.eval (repl.js:110:21) at repl.js:249:20 at REPLServer.self.eval (repl.js:122:7) at Interface.<anonymous> (repl.js:239:12) at Interface.emit (events.js:95:17) at Interface._onLine (readline.js:203:10) at Interface._line (readline.js:532:8) at Interface._ttyWrite (readline.js:761:14) 有没有推荐的安全的方式,我们可以执行相同的转换为IIS之前发送的urlstring表示? 铭记在心 我们正在接收这些严重编码的URL和请求 有一种方法来解码他们使用不赞成的unescape JavaScript函数和 这些url的大部分请求都来自Bing Bot,我们希望尽量减less对search排名的不利影响。 我们真的应该为所有传入的url做这个吗? 我们应该关注哪些安全或性能问题? 我们是否应该担心在不久的将来会被删除? 有没有更好/更安全的方法来解决这个问题(是的,我们读过的MDN文章链接到上面)

Nodejs:redirecturl

我试图以这种方式在node.js中redirect我的应用程序的url: // response comes from the http server response.statusCode = 302; response.setHeader("Location", "/page"); response.end(); 但是当前页面和新页面混在一起,看起来很奇怪:| 我的解决scheme看起来完全合乎逻辑,我不知道为什么发生这种情况,但如果我重新加载页面redirect后,它的工作原理。 无论如何,在节点中执行HTTPredirect的正确方法是什么?