gpt4 book ai didi

node.js - 使用 Express 路由处理请求参数中的斜杠字符

转载 作者:搜寻专家 更新时间:2023-10-31 22:42:57 25 4
gpt4 key购买 nike

我目前正在使用 Express 开发 URL 缩短器应用程序。我希望用户能够输入这样的 URL:

https://www.exampleurlshortener.com/new/https://www.google.com

问题是,每当我尝试使用 Express 指定参数时,它只会提取“https:”部分,之后的所有内容都会丢失,因为 2 个反斜杠正在注册为新路由:

app.get('/new/:url', (req, res) => {
console.log(req.params.url) // outputs 'https:'

我考虑将每个部分指定为新参数,但如果 inner 为空,这最终会抛出 404。我需要使用此方法检查 inner 是否为空,否则用户将能够输入 https:/something/www.google.com

app.get('/new/:prot/:inner/:address', (req, res) => {
// throws 404 on valid addresses

有没有一种简单的方法可以解决我所缺少的这个问题?是否可以在请求中的某处检查完整的 URL?还是参数可以忽略反斜杠?

最佳答案

您可以使用 an expression到您的 URL 占位符:

app.get('/new/:url(*)', (req, res) => {
console.log(req.params.url) // will output 'https://www.google.com'

关于node.js - 使用 Express 路由处理请求参数中的斜杠字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42351738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com