..La connexion sous-jacente a été fermée: Une erreur inattendue s'est produite sur une recevoir
J'ai le code suivant:
private Uri currentUri;
private void Form1_Load(object sender, EventArgs e)
{
currentUri = new Uri(@"http://www.stackoverflow.com");
HttpWebRequest myRequest = (HttpWebRequest) HttpWebRequest.Create("http://www.stackoverflow.com");
WebProxy myProxy = new WebProxy("120.198.230.8:81");
myRequest.Proxy = myProxy;
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
webBrowser1.DocumentStream = myResponse.GetResponseStream();
webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
}
void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
if (e.Url.AbsolutePath != "blank")
{
currentUri = new Uri(currentUri, e.Url.AbsolutePath);
HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(currentUri);
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
webBrowser1.DocumentStream = myResponse.GetResponseStream();
e.Cancel = true;
}
}
après la compilation:
erreur: Une exception non gérée du type 'System.Net.WebException'
s'est produite dans System.dllInformations supplémentaires: La connexion sous-jacente a été fermée: Une
erreur inattendue s'est produite sur une recevoir.
à la ligne HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
s'il vous plaît aider moi
OriginalL'auteur Thomas | 2014-02-12
Vous devez vous connecter pour publier un commentaire.
La connexion sous-jacente a été fermée: Une erreur inattendue s'est produite sur une recevoir.
Résolution
Pour résoudre ce problème, assurez-vous que vous utilisez la version la plus récente de la .NET Framework.
Ajouter une méthode à la classe pour remplacer le
GetWebRequest
méthode. Cette modification vous permet d'accéder à l'objet HttpWebRequest. Si vous utilisez Microsoft Visual C#, la nouvelle méthode doit être similaire à la suivante.Extrait de KB915599: Vous recevez un ou plusieurs des messages d'erreur lorsque vous essayez d'effectuer une requête HTTP dans une application qui repose sur l' .NET Framework 1.1 Service Pack 1.
où j'ai besoin d'écrire ce code, en projet mvc??
Vous avez à écrire avant de vous appeler HttpWebRequest
u peut plz me dire ce qui me manque dans le code ci-dessous l'url stackoverflow.com/questions/49978481/...
OriginalL'auteur Nagaraj S
Réglage de la
HttpWebRequest.KeepAlive
àfalse
ne fonctionne pas pour moi.Depuis que j'ai accès à une page HTTPS, j'ai eu pour définir le Point de Service de Protocole de Sécurité pour Tls12.
Avis qu'il existe d'autres
SecurityProtocolTypes
:SecurityProtocolType.Ssl3
,SecurityProtocolType.Tls
,SecurityProtocolType.Tls11
Donc, si le Tls12 ne fonctionne pas pour vous, essayez de les trois autres options.
Notez également que vous pouvez définir de multiples protocoles. C'est préférable dans la majorité des cas.
Du sens. Votre réponse a obtenu l'un de nos gens sur le droit chemin alors merci de prendre le temps de l'écrire 🙂
Merci beaucoup pour la solution.
Merci beaucoup pour ce partage 🙂
m'a sauvé beaucoup d'efforts
OriginalL'auteur Bartho Bernsmann
Aucune des solutions n'a fonctionné pour moi. Ce que j'ai découvert par la suite a été la combinaison suivante:
Apparemment, c'est cette dernière option qui a été à l'origine du problème. J'ai découvert cela en essayant d'ouvrir l'URL du service web directement dans Internet Explorer. Il a juste bloqué indéfiniment, essayer de charger la page. Désactiver l'option "Accepter les certificats clients" a permis que la page se charge normalement. Je ne suis pas sûr si c'était un problème avec ce système spécifique (peut-être erroné certificat du client?) Comme je n'étais pas à l'aide de certificats client cette option a fonctionné pour moi.
OriginalL'auteur Hugh Jeffner