J'essaie de créer une méthode en C# pour renvoyer une chaîne d'un contenu html de pages Web à partir de l'URL. J'ai essayé plusieurs manières différentes, mais j'obtiens l'erreur System.Net.WebException: La connexion sous-jacente a été fermée: Une erreur inattendue s'est produite sur une réception.System.Net.WebException: La connexion sous-jacente a été fermée: Une erreur inattendue s'est produite sur une réception
Les travaux suivants fins localement, mais obtient l'erreur ci-dessus lors de l'exécution sur un serveur distant:
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;
}
Juste pour être sûr, l'URL problématique peut être demandée en utilisant un navigateur Web ou un autre client HTTP? Existe-t-il un proxy configuré pour Internet Explorer ou est-ce que le serveur distant requiert une authentification telle que NTLM? – Lucero