Node.js 快速获取路由器未返回整个参数

Node.js 快速获取路由器未返回整个参数,node.js,express,routing,Node.js,Express,Routing,我有以下代码: app.get('/torrent/', function (req, res) { res.json(req.query.magnet); }); 所以当我访问http://server.com/torrent/?magnet= 我希望整个磁铁的网址是在回应 下面是一个完整磁铁的示例:磁铁:?xt=urn:btih:550321C3982A023C474A61C37E3082D9EA1C12CC&dn=some+file+name+Here&tr=udp%3A%2F%2F

我有以下代码:

app.get('/torrent/', function (req, res) {
  res.json(req.query.magnet);
});
所以当我访问http://server.com/torrent/?magnet= 我希望整个磁铁的网址是在回应

下面是一个完整磁铁的示例:磁铁:?xt=urn:btih:550321C3982A023C474A61C37E3082D9EA1C12CC&dn=some+file+name+Here&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2found

然而,我只得到这个:磁铁:?xt=urn:btih:550321C3982A023C474A61C37E3082D9EA1C12CC


&将响应转义并将其停止,我如何获取其余的响应呢?

这是一个外观非常奇怪的uri,但是&是查询参数之间的分隔符,因此实际上有多个。请尝试阅读下一篇:

req.queryquery.dn
之后的一个是

req.query.tr

这是一个磁铁的网址,是在torrent的今天使用。这让我非常接近…然而,在我的原始url中的某个+文件名+此处被替换为某个文件名,我需要将+放在空格处。我想我可以这样做。。。res.jsonreq.query.magnet+&dn=+req.query.dn.split“”。加入'+'+&tr=+req.query.tr;这是最好的方法吗?如果编码散列p处理这样的空间,那么您需要对每个参数进行URL编码。但事实并非如此。它将空格编码为%20。您只需将空格替换为加号即可。或者尝试访问原始查询字符串。