WebRequest "KOPF" geringes Gewicht alternative

Vor kurzem habe ich entdeckt, dass der folgende Code funktioniert nicht mit bestimmten Standorten, wie 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);
            }
        }
    }

Gibt es einen HTTP 405 ( Methode Nicht Erlaubt ). Mein problem ist, ich benutze code sehr ähnlich wie die oben genannten zu überprüfen, ob ein link gültig ist und die überwiegende Mehrheit der mal funktioniert es einwandfrei. Ich kann es ausschalten-Methode gleich BEKOMMEN und es funktioniert ( mit einem Anstieg timeout ), aber das verlangsamt die Dinge um ein Vielfaches. Ich gehe davon aus, dass die 405-Antwort ist eine server-Konfiguration auf der IMDB-die server-Seite.

Gibt es eine Möglichkeit für mich, das gleiche zu tun, wie oben, in eine leichte Art und Weise .NET? Oder gibt es einen Weg, das zu beheben obigen code so funktioniert es als GET-request, der mit imdb?

  • Ich hatte zum erhöhen der timeout, aber der code, den Sie oben gepostet bei mir funktioniert. Ändern Sie es zu POSTEN würde keinen Sinn machen, weil Sie nicht haben, keine Daten zu veröffentlichen. Und Ihr Titel spricht Sie über den KOPF, aber Sie sind nicht machen einen HEAD-request. Bitte klären, was die Frage ist, seit Ihrem "kaputten" code funktioniert einwandfrei.
  • Ug, wirklich blöde Tippfehler im Titel. Ist jetzt behoben... klassische Beispiel der glaube, eine Sache, und geben Sie einen anderen. Wenn Sie den oben stehenden code ausführen, Sie sind nicht immer ein 405-Antwort? EDIT: Ok, klar, auch mein code war fehlerhaft. Das oben genannte ist, was ich meinte zu posten, und so bearbeitet wird, geben Sie den 405 Fehler ( und die machen Sinn..... )
InformationsquelleAutor Serapth | 2011-03-18
Schreibe einen Kommentar