繁体   English   中英

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

[英]Is it possible that Request.ServerVariables[“HTTP_HOST”].ToString() can return a different host than what I see in the url bar

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

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

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

我还遇到了HttpContext.Current.Request.ServerVariables [“ HTTP_HOST”]的问题,并弄清楚了。 检索主机名的最佳方法是“ HttpContext.Current.Request.Url.Host”。 它解决了我的问题。

谢谢,拉杰

尝试使用:

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

我希望这会起作用。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM