[英]Express edits URL query to “favicon.ico”
当我使用路由后的URL向我的node.js / express Web服务器发送GET请求时,而不是服务器记录上述URL,它存储了favicon.ico:
var express = require("express");
var app = express();
app.get("/:query", function (req, res) {
var query = req.params.query;
console.log(query);
})
var port = process.env.PORT || 8080;
app.listen(port, function () {
console.log('Node.js listening on port ' + port + '...');
});
因此,当我转到https://my-domain-url.io/http://www.google.co.uk
时,打印到控制台的内容是: favicon.ico
而不是http://google.co.uk
有谁知道为什么会这样以及如何预防呢?
(我目前正在通过使用req.headers.referer
使用变通方法,该方法为我提供了完整的https://my-domain-url.io/http://www.google.co.uk
,然后我对其进行了手动解析。)
一种方法是:
var express = require("express");
var app = express();
app.get("/*", function (req, res, next) {
var query = req.params[0];
console.log(query);
next(); //you need add next, otherwise your query will hang there
})
var port = process.env.PORT || 8080;
app.listen(port, function () {
console.log('Node.js listening on port ' + port + '...');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.