Csharp/C#教程:获取用户在浏览器中输入的确切URL分享


获取用户在浏览器中输入的确切URL

我想获得用户输入浏览器的确切url。 当然我总是可以使用像Request.Url.ToString()这样的东西但是在下列情况下这不能给我我想要的东西:

https://www.mysite.com/rss

使用上面的URL, Request.Url.ToString()会给我的是:

https://www.mysite.com/rss/Default.aspx

有谁知道怎么做到这一点?

我已经尝试过了:

编辑:您希望HttpWorkerRequest.GetServerVariable()具有密钥HTTP_URLCACHE_URL 。 请注意,IIS 5和IIS 6之间的行为有所不同(请参阅密钥文档)。

为了能够访问所有服务器变量(如果你得到null ),直接访问HttpWorkerRequest:

 HttpWorkerRequest workerRequest = (HttpWorkerRequest)((IServiceProvider)HttpContext.Current) .GetService(typeof(HttpWorkerRequest)); 

还要记住,“用户输入的确切URL”可能永远不会在服务器上可用。 从手指到服务器的链中的每个链接都可以稍微修改请求。

例如,如果我在浏览器窗口中键入xheo.com,IE将自动转换为https://www.xheo.com 。 然后,当请求到达IIS时,它会向浏览器说 – 您确实需要https://www.xheo.com/Default.aspx上的默认页面。 因此浏览器通过询问默认页面来响应。

HTTP 30x重定向请求也会发生同样的事情。 服务器可能只会看到浏览器发出的最终请求。

尝试使用Request.Url.OriginalString可能会给你你想要的东西。

 Request.RawUrl 

我想是你追求的猴子……

最简单的方法是使用客户端编程来提取确切的URL:

  

有可能,您只需要组合请求对象中的一些值来重建输入的确切URL:

 Dim pageUrl As String = String.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Host, Request.RawUrl) Response.Write(pageUrl) 

输入地址https://yousite.com/?hello完全返回:

上述就是C#学习教程:获取用户在浏览器中输入的确切URL分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 https://yousite.com/?hello 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1041841.html

(0)
上一篇 2022年1月29日
下一篇 2022年1月29日

精彩推荐