我如何获得完整的网址
Posted
技术标签:
【中文标题】我如何获得完整的网址【英文标题】:How do I get the full url 【发布时间】:2012-08-18 12:43:22 【问题描述】:如何获取完整的 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);
【问题讨论】:
【参考方案1】:哈希不发送到服务器。您无法在服务器端获取它。 (至少,如果没有一些运行客户端的代码通过 AJAX 在另一个请求中发送它。)
【讨论】:
忽略 #hash - 操作如何获取用户:通过 URL 部分 @CodeUniquely 该部分设置在Authorization
标头中,base-64编码。
@CodeUniquely 这不是 HTTP 的工作方式。完整的 URL 永远不会发送到服务器。只有带有查询字符串的“路径”部分是。如果您不相信我,请启动像 Wireshark 这样的数据包嗅探器并查看一下。 XHR.open()
方法用户名/密码用于 CORS 请求。【参考方案2】:
“#”后面的内容是客户端的书签,不属于发送到服务器的URL。您可能想阅读“后退按钮”问题以了解其含义。 SO上与此相关的内容:Detecting Back Button/Hash Change in URL。
【讨论】:
以上是关于我如何获得完整的网址的主要内容,如果未能解决你的问题,请参考以下文章
我如何在 rails 中获得 twitter/friendfeed 之类的主页网址?