我需要从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