2009-08-19 4 views
2

Ich habe eine Methode, wie diese bekommen:Warum erhält WebClient (System.Net) zweimal von der URL?

private string getFromURL(string url) 
{ 
    WebClient myClient = new WebClient(); 
    return myClient.DownloadString(url); 
} 

mit WebClient von System.Net. Es scheint zweimal die URL zu treffen (ich beobachte auch das Log des fraglichen Webservers und verzeichnet zwei Treffer). Irgendeine Idee warum das sein könnte?

EDIT: Die Antwort war in der Tat Programmierer Fehler. Ich habe keinen Grund mehr zu denken, dass sich das merkwürdig verhält. Danke für die Antworten.

+0

Wenn Sie vom Browser zur URL gehen, trifft die URL zweimal? –

+1

Wird die genaue URL zweimal erreicht oder werden Daten von einem anderen Speicherort abgerufen? (Potentiell Bilder oder CSS). –

+2

Ich vermute, dass Sie die Funktion zweimal aufrufen. –

Antwort

1

Meine Vermutung ist, dass es einen Kopf vor dem GET macht. Zeigt Ihr Protokoll die verwendete HTTP-Methode an?

2

Oder wenn die URL in den beiden Fällen subtil unterschiedlich ist, könnte sie auf eine HTTP-Redirect-Anfrage antworten.

+0

Ich glaube, das kann der Fall sein. Ich habe versucht, den Code "http: // www.google.com" abzurufen, die Anfragen/Antworten mit Fiddler zu prüfen, und es werden zwei Anfragen gestellt. der erste bekommt eine 302 Antwort, der zweite eine 200. –

1

Check-out tcpmon: https://tcpmon.dev.java.net/ es ist ein Java-Tool - aber man kann es laufen einfach w/out a "java" Kerl

Die Chancen stehen gut, es gibt eine Umleitung oder etwas zu sich selbst, so Sie in der Lage sein sollte, um zu sehen, ob die http-Anfragen identisch oder leicht unterschiedlich sind.

Überprüfen Sie auch Curl (Cygwin) - Sie können testen, die Anfragen von dort senden und sehen, ob es eine Weiterleitung oder etwas gibt.

Verwandte Themen