System.Net.WebException: Die zugrunde liegende Verbindung wurde geschlossen: unerwarteter Fehler bei einer erhalten
Ich versuche, erstellen Sie eine Methode in C# einen string zurückzugeben, der einer web-Seiten, html-Inhalte von der url. Ich habe versucht, verschiedene Möglichkeiten, aber ich bin immer der Fehler System.Net.WebException: Die zugrunde liegende Verbindung wurde geschlossen: unerwarteter Fehler bei einer erhalten.
Folgendes funktioniert lokal, aber bekommt die oben genannten Fehler bei der Ausführung auf einem remote-server:
public static string WebPageRead(string url)
{
string result = String.Empty;
WebResponse response = null;
StreamReader reader = null;
try
{
if (!String.IsNullOrEmpty(url))
{
HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest;
request.Method = "GET";
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10;
response = request.GetResponse();
reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
result = reader.ReadToEnd();
}
}
catch (Exception exc)
{
throw exc;
}
finally
{
if (reader != null)
{
reader.Close();
}
if (response != null)
{
response.Close();
}
}
return result;
}
Nur um sicher zu sein, die problematische URL angefordert werden kann über einen web-browser oder einem anderen HTTP-client? Gibt es zufällig einen proxy einrichten für Internet Explorer oder ist die remote-server-Authentifizierung erfordern einige wie NTLM?
InformationsquelleAutor | 2009-04-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist wohl nicht das problem sein, aber versuchen Sie Folgendes:
Ich echo die frühere Antwort, die vermuten lässt, dass Sie versuchen, diese mit eine bekannt gute URL. Ich werde hinzufügen, dass, sollten Sie versuchen, diese mit eine bekannt gute HTTP 1.1-URL, auskommentieren der Zeile zum festlegen der version 1.0. Wenn das funktioniert, dann verengt er sich die Dinge beträchtlich.
InformationsquelleAutor John Saunders
Danke für die Antworten, das problem war auf ein DNS-Problem auf dem remote-server! Nur um zu bestätigen, ging ich mit den folgenden code am Ende:
Wie beheben Sie das erwähnte Problem, denn ich bekomme noch immer den Fehler aus dem code!
InformationsquelleAutor
Hatte ein problem wie dieses zuvor wurde gelöst durch öffnen der url im IE auf dem Rechner mit dem problem. DH dann fragt Sie, ob Sie möchten, fügen Sie die url zu der Liste der sicheren Websites. Fügen Sie es, und es funktioniert für diese url.
Dies ist nur eine der möglichen Ursachen. Ernst eine Menge andere Probleme, die verursachen könnte dies. Neben dem problem oben beschrieben, der beste Weg, die ich gefunden habe, um dieses Problem zu lösen ist das nur die Ausnahme abfangen, und wiederholen Sie die Anforderung.
InformationsquelleAutor Fung