J'ai une application de console que j'ai écrite pour .NET/Windows et dont j'ai soudainement eu besoin sur mon système Unix. Mono a, pour la plupart, eu énormément de succès à fournir cela pour moi.Mono: HttpWebRequest Erreurs SSL sur URI non-SSL
Il y a cependant un petit problème: Les problèmes d'application beaucoup de HttpWebRequests comme il fonctionne, et pour une petite partie de ceux-ci, Mono est de renvoyer une erreur:
Error getting response stream (Write: The authentication or decryption has failed.): SendFailure
Ce message d'erreur semble indiquer une connexion SSL Erreur. Cependant, cette application n'émet aucune requête aux URI sécurisés par SSL (c'est-à-dire que tous les URI sont http: //).
Le code principal en question est la suivante:
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
req.UserAgent = UserAgent;
req.AuthenticationLevel = AuthenticationLevel.None;
req.AllowAutoRedirect = true;
req.KeepAlive = true;
req.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
req.Timeout = timeout;
if (useCompression) {
req.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
}
Edit: Aux fins de l'exécution de ce code, vous pouvez définir des variables muettes comme suit:
string url = "http://example.com";
string UserAgent = "WhateverBot";
int timeout = 5000;
bool useCompression = true;
Il devrait être a noté que le code fonctionne sans aucun problème sur Windows/.NET.
pouvez-vous fournir un code d'exemple compilable et une ou deux URL qui échouent? – santa
Etes-vous sûr que l'URL demandée ne vous redirige pas vers une version SSL? Est-ce que cela fonctionne dans l'environnement Windows? Avez-vous consulté un outil de suivi http pour voir les demandes/réponses? –
@santa - Terminé. @Jaroslav Jandek - Il n'y a pas de problèmes sur Windows. Je n'ai aucune preuve, mais je pense qu'il est hautement improbable que je sois redirigé vers un site Web sécurisé: Cela se produit pour une variété d'URL différentes (et une variété d'hôtes différents), mais seulement pour une petite partie de tous demandes Il y a certains aspects pratiques qui rendent la surveillance http difficile, mais je considérerai cela comme une option si une solution n'est pas trouvée facilement. – Nick