当前位置: 首页 > 面试题库 >

如何在Express中获取完整的URL?

杜建章
2023-03-14
问题内容

假设我的示例网址是

http://example.com/one/two

我说我有以下路线

app.get('/one/two', function (req, res) {
    var url = req.url;
}

url将是/one/two

如何在Express中获取 完整的URL ?例如,在上述情况下,我想收到http://example.com/one/two


问题答案:
  1. 该协议可从下载req.protocol。这里的文档

    1. 在express 3.0之前,http除非您看到req.get('X-Forwarded-Protocol')已设置并具有value 的协议,否则可以假定为该协议https,在这种情况下,您知道这是您的协议
    2. 主机来自req.get('host')Gopal指示
  2. 希望您的URL中不需要非标准端口,但是如果您确实需要知道它,则可以在应用程序状态下使用它,因为它是app.listen在服务器启动时传递给您的。但是,在使用非标准端口进行本地开发的情况下,Chrome似乎将端口包含在主机标头中,因此例如req.get('host')返回localhost:3000。因此,至少对于在标准端口上的生产站点并直接浏览到快速应用程序(没有反向代理)的情况,host标头似乎对URL中的端口做了正确的处理。

  3. 路径来自req.originalUrl(感谢@pgrassant)。请注意,此DOES包含查询字符串。此处的文档位于req.url和req.originalUrl。根据您打算对URL originalUrl进行的处理,与相比,该值可能是正确的值,也可能不是正确的值req.url

将所有内容组合在一起以重建绝对URL。

  var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl;


 类似资料:
  • 假设我的示例url是 http://example.com/one/two 我说我有以下路线 的值将为。 如何获取Express中的完整url?例如,在上面的情况下,我希望收到。

  • 已经有一个类似的线程,看起来很像,但这里我有一些不同的问题。 我想要完整的URL,其中URL是动态的。我所有的页面都使用一个通用的nunjuk模板。 让我们面对现实吧。假设我有一个URL路径: /blog/one/two/three 值得注意的是,“博客”是静态的,但“一”、“二”和“三”是变量,它们将根据我网站上请求的博客文章而改变。 我使用以下代码通过传递来获取URL:post“但是当我在UR

  • 问题内容: 这个问题的答案是 社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我使用以下代码来获取完整的URL: 问题在于,我在自己的中使用了一些掩码,因此我们在URL中看到的并不总是文件的真实路径。 我需要的是获取URL,写在URL中的内容,仅此而已-完整的URL。 我需要了解它在Web浏览器的导航栏中的显示方式,而不是服务器上文件的真实路径。 问题答案: 看一下,即 请注意

  • 问题内容: 我在从URL:获取值方面遇到问题。 帮助我更正我的控制器代码。我无法获得价值。 我的代码如下: : : : 问题答案: 快递4.x 要获取URL参数的值,请使用req.params 如果要获取查询参数,请使用req.query 快递3.x URL参数 查询参数

  • 问题内容: 使用angular时,在视图内获取对象的首选方法是什么? 看起来好像有这个项目,但是看起来维护得不好。 https://github.com/gdi2290/angular- momentjs 问题答案: 有一个更受欢迎的angular-moment项目… https://github.com/urish/angular- moment 有了它,您可以像这样注入瞬间… jsfiddle

  • 问题内容: https://example.com/some/path在没有Sites模块的情况下,如何在Django中获取完整/绝对URL(例如)?那真是愚蠢……我不需要查询数据库来获取URL! 我想用它 问题答案: 根据请求使用方便的request.build_absolute_uri()方法,将其传递给相对URL,它将为你提供完整的URL。 默认情况下,返回的绝对URL ,但是你可以将相对U