簡體   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