ich, ob eine Qualifikation auf http://www.accreditedqualifications.org.uk in Form existiert, um zu bestimmen versuchen:C# erfaßt Seite umleiten
http://www.accreditedqualifications.org.uk/qualification/50084811.seo.aspx
50084811 ein Qualifikationsziel durch den Endanwender eingegeben.
Wenn sie einen ungültigen eingeben, z.
http://www.accreditedqualifications.org.uk/qualification/50084911.seo.aspx
Sie auf eine Fehlerseite umgeleitet werden (mit falschen HTTP-Header, soweit ich sehen kann). Gibt es eine Möglichkeit, die Umleitung in C# zu erkennen? Ich hoffe, in der Lage zu sein, die Umleitung in http-Headern zu erkennen (denke, dass es 2 ausgibt) oder ähnlich, um die gesamte Seite herunterladen zu müssen. Dies könnte viel passieren, also möchte ich den Verkehr minimieren.
bearbeiten
verwendet, um dieses an dem Header einen Blick zu haben, sieht aus wie zwei für eine ungültige Seite ausgegeben werden:
Fand dieses http://stackoverflow.com/questions/924679/c-how-can-i-check-if-a-url-exists-is-valid Ich denke, es ist an den richtigen Linien ist aber seit Die Website gibt kein 404 oder ähnliches aus, es funktioniert nicht. Ich werde weiter experimentieren. – PeteT
@ petebob796: Die Verwendung von 'WebClient' gibt Ihnen möglicherweise nicht genügend Kontrolle. Insbesondere erlaubt es Ihnen nicht, die automatische Weiterleitung zu deaktivieren (soweit ich das sehen kann). Verwenden Sie HttpWebRequest, und sehen Sie sich den Antwortcode an. 301 und 302 sind die normalen Umleitungs-Antwortcodes. –
Danke, jetzt mit HttpWebRequest und HttpWebResponse zusammen mit request.AllowAutoRedirect = false; und request.Method = "HEAD" ;. Für jeden anderen Leser wurde ich von der StatusCode für eine Sekunde abgefangen, es gibt "OK", "NOT FOUND" ... aber es ist eine enum und kann auf den tatsächlichen Fehler 301, 302 umgewandelt werden ... – PeteT