Ich versuche, eine Methode in C# zu erstellen, um eine Zeichenfolge des HTML-Inhalts einer Webseite aus der URL zurückzugeben. Ich habe mehrere verschiedene Möglichkeiten ausprobiert, aber ich erhalte den Fehler System.Net.WebException: Die zugrunde liegende Verbindung wurde geschlossen: Bei einem Empfang ist ein unerwarteter Fehler aufgetreten.System.Net.WebException: Die zugrunde liegende Verbindung wurde geschlossen: Ein unerwarteter Fehler trat bei einem Empfang auf
folgende Arbeiten vor Ort in Ordnung, aber wird den obigen Fehler, wenn sie auf einem Remote-Server ausgeführt wird:
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, kann die problematische URL mit einem Webbrowser oder einem anderen HTTP-Client angefordert werden? Gibt es zufällig einen Proxy für Internet Explorer eingerichtet oder erfordert der Remote-Server Authentifizierung wie NTLM? – Lucero