我的代码中有这个路由器
fastify.get('/:link', (req, reply) => {
req.params.url = req.host+req.url;
reply.view("template.ejs",req.params);
});我正在尝试捕获URL并在模板中处理它们。URL都是encodeURIComponent转义的。由于某些原因,一些URL会返回404 not found,我不确定为什么。这就是起作用的链接。
http://127.0.0.1:3000/https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fe%2Fee%2FChain_link_icon.png
这就是不起作用的那个。
http://127.0.0.1:3000/https%3A%2F%2Fs7386.pcdn.co%2Fwp-content%2Fuploads%2F2016%2F07%2Fadd-on-direct-link-tracking-771x386.png
错误是
{
"message": "Route GET:/https%3A%2F%2Fs7386.pcdn.co%2Fwp-content%2Fuploads%2F2016%2F07%2Fadd-on-direct-link-tracking-771x386.png not found",
"error": "Not Found",
"statusCode": 404
}我使用的是带有节点v12.8.0和fastify 2.8.0的windows 10
发布于 2019-09-12 04:22:16
原因是,由于某种原因,URL超过100个字符,这是最大长度。
可以使用maxparamlength对其进行更改。我还询问了here,希望这个错误在未来会得到改变。
https://stackoverflow.com/questions/57891932
复制相似问题