假设我的示例url是
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
。
您可以使用URL的node.js API并从Express传递url.format()
信息,而不是单独将这些东西连接在一起。
示例:
var url = require('url');
function fullUrl(req) {
return url.format({
protocol: req.protocol,
host: req.get('host'),
pathname: req.originalUrl
});
}
>
协议可作为req.protocol
使用。这里有文件
HTTP
,除非您看到req.get('X-forwarded-protocol')
已设置并具有HTTPS
,在这种情况下,您知道这是您的协议正如Gopal所指出的,主机来自req.get('host')
希望您的URL中不需要非标准端口,但是如果您确实需要知道它,那么您可以在应用程序状态中使用它,因为它是您在服务器启动时传递给app.listen
的任何端口。但是,对于在非标准端口上进行本地开发的情况,Chrome似乎将端口包含在主机头中,因此req.get('host')
返回localhost:3000
。因此,至少对于标准端口上的生产站点和直接浏览express应用程序的情况(没有反向代理),host
头似乎对URL中的端口做了正确的操作。
路径来自req.originalurl
(thanks@pgrassant)。注这确实包括查询字符串。在req.url和req.originalurl上的文档。与req.URL
相比,originalurl
可能是正确的值,也可能不是正确的值,这取决于您打算对URL执行的操作。
将所有这些组合在一起重建绝对URL。
var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl;
问题内容: 假设我的示例网址是 http://example.com/one/two 我说我有以下路线 值将是。 如何在Express中获取 完整的URL ?例如,在上述情况下,我想收到。 问题答案: 该协议可从下载。这里的文档 在express 3.0之前,除非您看到已设置并具有value 的协议,否则可以假定为该协议,在这种情况下,您知道这是您的协议 主机来自Gopal指示 希望您的URL中不
问题内容: 这个问题的答案是 社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我使用以下代码来获取完整的URL: 问题在于,我在自己的中使用了一些掩码,因此我们在URL中看到的并不总是文件的真实路径。 我需要的是获取URL,写在URL中的内容,仅此而已-完整的URL。 我需要了解它在Web浏览器的导航栏中的显示方式,而不是服务器上文件的真实路径。 问题答案: 看一下,即 请注意
已经有一个类似的线程,看起来很像,但这里我有一些不同的问题。 我想要完整的URL,其中URL是动态的。我所有的页面都使用一个通用的nunjuk模板。 让我们面对现实吧。假设我有一个URL路径: /blog/one/two/three 值得注意的是,“博客”是静态的,但“一”、“二”和“三”是变量,它们将根据我网站上请求的博客文章而改变。 我使用以下代码通过传递来获取URL:post“但是当我在UR
问题内容: 有没有一种简单的方法可以打印的完整路径? 的 应该打印 问题答案: 使用 readlink :
python如何获取完整的os版本 OS 版本: 10.0.19045 暂缺 Build 19045 用了一些办法这能获取:10.0.19045后面的暂缺 暂缺 Build 19045 获取不到 有什么办法获取完整的10.0.19045 暂缺 Build 19045
我想通过连接到另一个url再次解析从解析中获得的值。我怎么修理它? 从scrapy导入蜘蛛从scrapy.selector导入选择器 从堆栈.items导入堆栈项 类StackSpider(Spider):name=“stack”allowed_domains=[“*”]global n#n=1997 start_url=['https://www.melon.com/chart/age/list