Traitement des erreurs/serveur http.
Salut, je récupère un code de page web grâce a cette fonction que j'ai adaptée/modifiée :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| String ^Webreq(String ^url){
using System::Net::HttpWebRequest;
using System::Net::WebRequest;
using System::Net::HttpWebResponse;
using System::Net::WebResponse;
using System::IO::StreamReader;
HttpWebResponse ^HttpWResponse;
StreamReader ^sr;
try
{
HttpWebRequest ^ HttpWRequest = safe_cast<HttpWebRequest ^>(WebRequest::Create(url));
HttpWRequest->CachePolicy = gcnew System::Net::Cache::HttpRequestCachePolicy(System::Net::Cache::HttpRequestCacheLevel::Reload);
HttpWResponse = safe_cast<HttpWebResponse^>(HttpWRequest->GetResponse());
sr = gcnew StreamReader(HttpWResponse->GetResponseStream());
return sr->ReadToEnd();
}
catch (Exception ^e)
{
return (e->Message);
}
finally
{
if (HttpWResponse != nullptr)
HttpWResponse->Close();
if (sr != nullptr)
sr->Close();
}
} |
Et je voudrais traiter les codes d'erreurs du serveurs grâce à "Exception", mais le soucis, c'est qu'ils sont simplifiés par exemple: "Le serveur distant a retourné une erreur*: (500) Erreur interne du serveur.".
Je voudrais avoir les messages d'alerte beaucoup plus explicites sur le type d'erreur rencontrée (comme sur firefox par exemple qui donne l'erreur + le code).