ProtocolError tout en appelant HttpWebRequest.GetResponse()

J'ai une page contenant des liens vers des fichiers.

En gros, j'ai besoin d'accéder à la source de la page pour l'analyse d'alors et l'obtention de tous les liens vers les fichiers.

Mon code est quelque chose comme ceci (un morceau de code que j'ai trouvé dans de nombreux endroits sur le net ..):

    "private static byte[] ReadImageFromUrl(string url)
    {
        var myReq = (HttpWebRequest)WebRequest.Create(url);

        myReq.Timeout = 10000;

        WebResponse myResp = myReq.GetResponse();

        Stream stream = myResp.GetResponseStream();

        List<byte> bytesList = new List<byte>();

        using (var br = new BinaryReader(stream))
        {
            try
            {
                while (true)
                {
                    var b = br.ReadByte();
                    bytesList.Add(b);
                }
            }
            catch (Exception)
            {}

            br.Close();
        }

        myResp.Close();

        return bytesList.ToArray();
    }"

Maintenant, le problème est que je vous "le Système de.Net.WebException: Le serveur distant a retourné une erreur: (500) Erreur Interne du Serveur." lors de l'appel de "myReq.GetResponse()" - examen de l'erreur que je vois que le statut est "ProtocolError'.

La réponse de la propriété de la WebException objet contient quelques erreurs de serveur ..(bien que lors de l'ouverture depuis le navigateur, il s'ouvre correctement) ...aussi, quand j'ai appeler cette fonction avec l'url de l'un de mes fichiers, j'obtiens la même ProtocolError état, mais l'erreur 404 ...

Veuillez donner aucun soupçon comment pourrais-je le résoudre... ou toute autre possibilité d'accomplir cette tâche.

Merci !

OriginalL'auteur aly | 2011-09-19