Próbuję ustalić, czy kwalifikacje istnieje na http://www.accreditedqualifications.org.uk w postaci:C# wykryć strona przekierować
http://www.accreditedqualifications.org.uk/qualification/50084811.seo.aspx
50084811 jest kwalifikacja Celem wprowadzonych przez użytkownika końcowego.
Jeśli wprowadzą nieprawidłowy numer, np.
http://www.accreditedqualifications.org.uk/qualification/50084911.seo.aspx
zostaje przekierowany na stronę błędu (z błędnych nagłówków miarę widzę). Czy istnieje sposób, aby wykryć przekierowanie w C#. Mam nadzieję, że będę w stanie wykryć przekierowanie w nagłówkach http (myśląc, że wyda 2) lub coś podobnego, co sprzeciwia się konieczności pobrania całej strony. To może się dziać bardzo często, dlatego chciałbym zminimalizować ruch.
Edit
użył tego, aby spojrzeć na nagłówki wygląda dwa są wydawane na nieprawidłowym stronie:
Znaleziony to http://stackoverflow.com/questions/924679/c-how-can-i-check-if-a-url-exists-is-valid myślę, że wzdłuż odpowiednich linii, ale ponieważ na stronie nie ma wydania 404 lub podobnego, nie działa. Będę dalej eksperymentować. – PeteT
@ petebob796: Używanie 'WebClient' może nie zapewniać wystarczającej kontroli. W szczególności nie pozwala ci wyłączyć automatycznego przekierowania (o ile widzę). Użyj HttpWebRequest i spójrz na kod odpowiedzi. 301 i 302 to normalne kody odpowiedzi przekierowania. –
Dzięki posortowane teraz przy użyciu HttpWebRequest i HttpWebResponse wraz z request.AllowAutoRedirect = false; i request.Method = "HEAD" ;. Dla każdego, kto czyta, zostałem złapany przez StatusCode przez sekundę, zwróciło "OK", "NIE ZNALEZIONO" ... ale jest to wyliczenie i może zostać rzucone do rzeczywistego błędu 301, 302 ... – PeteT