Gibt es eine Möglichkeit, eine System.Net.WebRequest
oder System.Net.WebClient
die hosts
oder lmhosts
Datei zu erhalten?System.Net.WebRequest nicht respektieren Hosts Datei
Zum Beispiel: in meinem hosts-Datei Ich habe:
10.0.0.1 www.bing.com
Wenn ich versuche, Bing in einem Browser zu laden (IE und FF) es nicht wie erwartet geladen.
Dns.GetHostAddresses("www.bing.com")[0]; // 10.0.0.1
WebRequest.Create("http://10.0.0.1").GetResponse(); // throws exception (expected)
WebRequest.Create("http://www.bing.com/").GetResponse(); // unexpectedly succeeds
Ähnlich:
WebClient wc = new WebClient();
wc.DownloadString("http://www.bing.com"); //succeeds
Warum sollte System.Net.Dns
respektieren die Hosts-Datei aber System.Net.WebRequest
es ignorieren? Was muss ich ändern, damit WebRequest die hosts-Datei respektiert?
Zusätzliche Information:
- Wenn ich IPv6 deaktivieren und meine IPv4-DNS-Server auf 127.0.0.1 gesetzt, der obige Code funktioniert (nicht) wie erwartet. Wenn ich jedoch meine normalen DNS-Server als Alternativen hinzufüge, wird das unerwartete Verhalten wieder aufgenommen.
- Ich habe dies auf 3 Win7 und 2 Vista-Boxen reproduziert. Die einzige Konstante ist das Netzwerk meiner Firma.
- Ich Vorschlag .NET 3.5 SP1 und VS2008 mit
bearbeiten
Per @ Richard Beier, versuchte ich System.Net
Verfolgung aus. Mit der Verfolgung ON schlägt die WebRequest
fehl, wie es sollte. Aber sobald ich die Verfolgung OFF drehen, kehrt das Verhalten zu dem unerwarteten Erfolg zurück. Ich habe dies sowohl im Debug- als auch im Release-Modus auf den gleichen Rechnern wie zuvor reproduziert.
Edit 2
Dies erwies sich das Unternehmen Proxy uns Fragen geben zu können. Unsere Lösung war ein benutzerdefiniertes Proxy-Konfigurationsskript für unsere Testmaschinen, bei denen "bing.com" auf DIRECT anstelle des Standard-Proxys zeigte.
Ich vermute, Sie über einen Proxy in Ihrem Netzwerk arbeiten. Was macht Ihr Browser? –
IE und FF verhalten sich wie erwartet (versuchen, von dem Server zu laden, der in der hosts-Datei angegeben ist). – Nate
Haben Sie 'ipconfig/flushdns' probiert? – Aren