Request.ServerVariables[“HTTP_HOST”].ToString() 是否有可能返回与我在网址栏中看到的主机不同的主机

发布于 2024-10-10 05:44:00 字数 291 浏览 5 评论 0原文

假设我有一个通过 http://www.mypage.com/test.aspx 访问的远程页面。在该页面上,我使用代码 Request.ServerVariables["HTTP_HOST"].ToString()。当我访问该页面时,代码是否有可能返回与我在网址栏中看到的不同的网址,即 http:// /www.mypage.com/test.aspx?任何帮助将不胜感激。谢谢。

Say I have a remote page accessed through http://www.mypage.com/test.aspx. On that page I use the code Request.ServerVariables["HTTP_HOST"].ToString(). Is it possible that when I access the page the code can return a different url than that which I see in the url bar which is http://www.mypage.com/test.aspx? Any help would be appreciated. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

拥抱我好吗 2024-10-17 05:44:00

您可以看到 IIS 绑定到您的 Web 实例的任何名称。因此,如果您的服务器名为“server1”,IP 地址为 123.123.123.123,并且所有这三个地址都绑定到您的 IIS 实例,则您可以看到其中任何值。

要查找绑定的名称,请打开“Internet 信息服务 (IIS) 管理器”(开始、管理工具),展开树直到看到您的站点。找到您正在使用的那个。右键单击并选择“绑定”。编辑列表中的每个绑定。如果它们都说 [IP 地址:]“全部未分配”,那么您的 HTTP_HOST 可能是 1. 您通过 DNS 配置的 WWW 地址,2. 计算机名称 3. IP 地址。

You could see any name that IIS has bound to your web instance. So, if your server is called "server1" and the IP address is 123.123.123.123 and all three of those are bound to your instance of IIS, you could see any of those values.

To look up what names are bound, open "Internet Information Services (IIS) Manager" (start, Administration tools), expand the tree till you see your sites. Find the one you are using. Right-click and choose "Bindings". Edit each of the bindings in the list. If they all say [IP address:] "All Unassigned", then your HTTP_HOST could be 1. the WWW address that you have configured via DNS, 2. the machine name 3. the IP address(es).

任谁 2024-10-17 05:44:00

尝试使用:

HttpContext.Current.Request.ServerVariables["SERVER_NAME"]

我希望这会起作用。

try to use:

HttpContext.Current.Request.ServerVariables["SERVER_NAME"]

i hope that this will be work.

北音执念 2024-10-17 05:44:00

我还面临 HttpContext.Current.Request.ServerVariables["HTTP_HOST"] 的问题并解决了。检索主机名的最佳方法是“HttpContext.Current.Request.Url.Host”。它解决了我的问题。

谢谢,
拉杰

I was also facing the issue with HttpContext.Current.Request.ServerVariables["HTTP_HOST"] and figured it out. The best way to retrieve the hostname is "HttpContext.Current.Request.Url.Host". It resovled my issue.

Thanks,
Raj

幸福丶如此 2024-10-17 05:44:00

这是可能的,是的。 isapi_rewrite 模块可以在您自己的代码能够检查 HTTP_HOST 的值之前修改它。

It is possible, yes. A isapi_rewrite module could modify the value of HTTP_HOST before your own code is able to inspect it.

翻了热茶 2024-10-17 05:44:00

有人已经提到了本地重写器 (isapi_rewrite),但也有远程重写器,例如发布您的服务器的 ISA 服务器。这是发送原始主机标头(客户端输入的内容)或在发布设置中输入的配置。

Someone has already mentioned local rewriters (isapi_rewrite), but there are also remote ones, like an ISA Server publishing your server. It's a configuration thingie to send original host headers (what the client entered), or the ones entered in the publishing settings.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文