我需要從C#中調用一個Response.Redirect方法,但我需要這樣做,它會忽略此調用的Windows上的主機文件?忽略hosts文件?
例如,如果在主機上,我有:
127.0.0.1 google.com
,我叫的Response.Redirect( 「google.com」),我需要它忽略主機爲這一個電話,實際上去google.com而不是localhost。我怎麼能這樣做?
我知道我可以在谷歌的IP地址上調用Response.Redirect,但有沒有更好的方法?
我需要從C#中調用一個Response.Redirect方法,但我需要這樣做,它會忽略此調用的Windows上的主機文件?忽略hosts文件?
例如,如果在主機上,我有:
127.0.0.1 google.com
,我叫的Response.Redirect( 「google.com」),我需要它忽略主機爲這一個電話,實際上去google.com而不是localhost。我怎麼能這樣做?
我知道我可以在谷歌的IP地址上調用Response.Redirect,但有沒有更好的方法?
忽略hosts文件的唯一方法是刪除它。
或者註釋掉違規行。無論如何,除了操作系統的解析器之外,一些程序(例如網頁瀏覽器)還保留着自己的DNS緩存,所以對「主機」的更改不能保證立即「採取」。 – Piskvor 2010-07-19 12:26:08
不,可能不是:DNS查找交給您的操作系統,它檢查... hosts
文件。
IFF可以
http://10.15.6.4/some/path
(谷歌搜索接受的IP主機名和作品,順便說一句)),那麼它可能會工作。
如果你可以在不詢問操作系統的情況下知道主機的IP地址(例如通過第三方),那麼你實際上忽略了主機文件。
「我知道我可以在谷歌的IP地址上調用Response.Redirect」 - 你將如何知道該IP地址是什麼?在主機中具有該條目的系統上,它總是會告訴你127.0.0.1。 – AakashM 2010-07-19 12:12:01
@AakashM:好吧,你*可以*打開一個套接字,自己對DNS服務器進行一次'A'查詢(如果你不打擾系統設置,試試谷歌的8.8.8.8),解析返回的數據,瞧吧IP地址。換句話說,繞過操作系統的DNS解析器並自己動手。正如你所看到的,沒有涉及'hosts'文件;重塑車輪OTOH,這可能有點問題。 – Piskvor 2010-07-19 12:15:45
@Piskvor哇是的,那可以工作。但是,如果我看到一個應用程序成功地定位谷歌,而我有我的主機文件中的條目,我會...... *驚訝*,至少可以說:) – AakashM 2010-07-19 12:26:06