System.net.HTTPClient忽略C:\ Windows \ System32 \ drivers \ etc \ hosts

时间:2017-07-14 08:14:37

标签: windows winapi httpclient

我遇到一个奇怪的问题:System.net.HTTPClient似乎忽略C:\Windows\System32\drivers\etc\hosts中的主机名设置..

重现的步骤..

1 C:\Windows\System32\drivers\etc\hosts的本地ipaddress上映射主机名,例如:

127.0.0.1 www.google.com

2 使用控制台命令刷新dns缓存:

ipconfig /flushdns

3 ping主机名www.google.com并检查它是否解析为127.0.0.1适合我):

ping www.google.com

4 使用System.net.HTTPClient发出请求(我使用Delphi);

aFileStream := TFileStream.Create('C:\response.html', fmCreate);
aHTTPClient := THTTPClient.create;
try
    aHTTPClient.Get('http://www.google.com/', aFileStream);
finally
    aHTTPClient.free;
    aFileStream.free;
end;

HTTPClient会返回真实的www.google.com页面,但如果我打开Internet Explorer并输入www.google.com,我会看到我的本地服务器。

为什么HTTPClient不遵循C:\Windows\System32\drivers\etc\hosts设置?

0 个答案:

没有答案