我如何获得完整的url

如何获取完整的url,例如http:// user:pass@host.com:8080 / p / a / t / h?query = string#hash 。 使用request.url可以得到/ p / a / t / h?query = string,但是我希望得到完整的包括#hash。 我该怎么办?

var http = require('http'); var url = require('url'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end(request.url + '\n'); }).listen(8124); 

散列不发送到服务器。 你不能得到它的服务器端。 (至less,不是没有运行客户端的代码通过AJAX发送另一个请求的代码。)

“#”后的内容是客户端的书签,不是发送到服务器的URL的一部分。 你可能想阅读关于“后退button”的问题来理解它的含义。 在SO上与此相关的东西: 检测URL中的后退button/哈希变化 。