WebRequest “TÊTE” poids léger alternative

J'ai récemment découvert que le code suivant ne fonctionne pas avec certains sites, tels que IMDB.com.

class Program
    {
        static void Main(string[] args)
        {
            try
            {
                System.Net.WebRequest wc = System.Net.WebRequest.Create("http://www.imdb.com"); //args[0]);

                ((HttpWebRequest)wc).UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.2.153.1 Safari/525.19";
                wc.Timeout = 1000;
                wc.Method = "HEAD";
                WebResponse res = wc.GetResponse();
                var streamReader = new System.IO.StreamReader(res.GetResponseStream());

                Console.WriteLine(streamReader.ReadToEnd());
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }

Elle renvoie un HTTP 405 ( Méthode Non Autorisée ). Mon problème est que j'ai utiliser le code très similaire à la ci-dessus pour vérifier si un lien est valide et la grande majorité des cas, il fonctionne correctement. Je peux passer à la méthode de l'égalité OBTENIR et il fonctionne ( avec une augmentation du délai d'attente ), mais cela ralentit les choses d'un ordre de grandeur. Je suis en supposant que la 405 réponse est d'une configuration de serveur sur IMDB du côté serveur.

Est-il un moyen pour moi de faire la même chose que ci-dessus, dans un peu de poids manière .NET? Ou, est-il un moyen de corriger le code ci-dessus de sorte qu'il fonctionne comme une requête GET qui fonctionne avec imdb?

J'ai dû augmenter le délai d'attente, mais le code que vous avez posté ci-dessus fonctionne pour moi. Changer de POSTE, n'aurait aucun sens, parce que vous n'avez pas toutes les données à publier. Et votre titre parle de la TÊTE, mais vous n'êtes pas d'effectuer une requête HEAD. Veuillez préciser ce que la question est, depuis votre "cassé" le code fonctionne très bien.
Ug, vraiment stupide faute de frappe dans le titre. Fixe maintenant... exemple classique de penser une chose et un autre type. Lorsque vous exécutez le code ci-dessus, vous n'obtenez pas une 405 réponse? EDIT: Ok, réalisé même mon code a été entaché d'irrégularités. Le ci-dessus est ce que je voulais poster, et est édité à donner l'erreur 405 ( et de sens..... )

OriginalL'auteur Serapth | 2011-03-18