Laden...

Prüfen, ob URL existiert ...

Erstellt von Chrisexpress vor 12 Jahren Letzter Beitrag vor 12 Jahren 5.593 Views
C
Chrisexpress Themenstarter:in
12 Beiträge seit 2011
vor 12 Jahren
Prüfen, ob URL existiert ...

Hallo,

ich würde gerne in der Form_Load Methode eine URL auf ihre Existenz überprüfen. Jedoch wird in meinem Buch über C# wenig-nichts darüber geschrieben. Wäre wirklich klasse, wenn mir jemand helfen könnte.

MfG, Chris

Mit freundlichen Grüßen, Chris

G
538 Beiträge seit 2008
vor 12 Jahren

Du kannst einen WebRequest absetzen

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo Chrisexpress,

aber nicht direkt im Form-Load wegen [FAQ] Warum blockiert mein GUI?.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

C
Chrisexpress Themenstarter:in
12 Beiträge seit 2011
vor 12 Jahren

Danke für eure Antworten, hilft mir schonmal weiter.

Hm und wie genau kann ich mit einer Webrequest jetzt überprüfen, ob die URL existiert?

Mit freundlichen Grüßen, Chris

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo Chrisexpress,

Seite downloaden und wenn kein Fehler passiert funktioniert die Verbindung zur Seite und sie existiert.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

107 Beiträge seit 2011
vor 12 Jahren

Du kannst dir mit GetResponse() eine WebResponse zurückgeben lassen.

q.e.d.

3.170 Beiträge seit 2006
vor 12 Jahren

Hallo,

wenn eine größere Resource hinter der URL liegt, und Du wirklich nur die Existenz prüfen willst, kannst Du als WebRequest.Method = "HEAD" setzen, dann wird nur der HTTP-Header heruntergeladen.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

C
Chrisexpress Themenstarter:in
12 Beiträge seit 2011
vor 12 Jahren

Gut, aber ich würde das gerne mit einer if Abfrage überprüfen ... kann sein, dass ich mich grad echt dämlich anstelle, aber wie geht das dann mit der GetResponse() Methode?

Mit freundlichen Grüßen, Chris

3.170 Beiträge seit 2006
vor 12 Jahren

Hallo,

GetResponse() gibt Dir Antwort des Servers. Das setzt Du am besten in einen try-catch-Block. Wenn Du im Catch landest, ist sowieso schon was schiefgelaufen.

Die Response kannst Du auf HttpWebResponse casten, und deren StatusCode auswerten, wenn alles gut geht, erhältst Du HttpStatusCode.OK. Es gibt noch weitere Stati, die für Dich interessant sein könnten, z.B. Redirects oder ähnliches.
Siehe auch HttpStatusCode-Enumeration

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

C
Chrisexpress Themenstarter:in
12 Beiträge seit 2011
vor 12 Jahren

Alles klar, ist jetzt einigermaßen nach meinen Vorstellungen, danke allen nochmal 😃

Mit freundlichen Grüßen, Chris

C
252 Beiträge seit 2007
vor 12 Jahren

Oder zb auch mit WebClient.DownloadStringAsync.
Dann kannst du es auch im Load machen da nichts blockiert.