Question

Je fais une httpwebrequst post, mais dans le HttpWebResponse im obtenir un code d'erreur 403 interdit. Maintenant que l'erreur isnt utilisation très complète pour moi.

J'ai ensuite essayé un programme de test (que je n'ai pas le code source :() et utilisé pour faire le même poste, et il est revenu avec un code 403 interdit, mais aussi m'a dit tha SSL était nécessaire. Ainsi est-il possible d'obtenir plus de détails « de » serverside d'un échec HttpWebRequest que seul le code d'erreur?

Merci


Juste pour éclaircir les choses. Son amende im obtenir le 403, je me demandais pourquoi le programme de test pourrait dire que SSL SSL était nécessaire quand je peux voir quelque chose comme ça dans le WebException

Était-ce utile?

La solution

Si un WebException est jeté à cause d'une erreur de protocole, sa réponse la propriété contiendra la réponse réelle reçue à partir du Web serveur.

try 
{
    // Do WebRequest
}
catch (WebException ex) 
{
    if (ex.Status == WebExceptionStatus.ProtocolError) 
    {
        HttpWebResponse response = ex.Response as HttpWebResponse;
        if (response != null)
        {
            // Process response
        }
    }
}

Autres conseils

Il n'y a pas de manière explicite de demander des informations plus détaillées, pas -. Au fond, ya obtenir ce que ya get

Cela dit, les serveurs Web renvoient souvent des documents ainsi que les codes d'erreur qui contiennent parfois des informations utiles, un peu comme celui que vous avez été en expliquant le problème avec le certificat SSL. Pour vous aider flairer les problèmes comme celui-ci, consultez Fiddler - il va vous montrer à peu près tout il est de connaître vos réponses du serveur.

En ce qui concerne votre erreur particulière, il est difficile de dire; 403 peut indiquer quelques choses différentes. Mais si vous êtes retourné une réponse indiquant quelque chose ayant à voir avec SSL, vous pouvez juste avoir affaire à un certificat mauvais ou expiré ( voir cette question), ou le serveur peut être nécessitant une connexion sécurisée, mais pas obtenir un. Avez-vous essayé de frapper juste l'URL directement avec un navigateur Web, juste pour voir si vous êtes invité avec un avertissement indiquant un problème de certificat, ou quoi que ce soit autre qu'une réponse 403 sans intermédiaire?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top