Ich bin ein Tool zur Validierung von Links in URL eingegeben entwickelt. Angenommen, ich habe eine URL (z. B. http://www-review-k6.thinkcentral.com/content/hsp/science/hspscience/na/gr3/se_9780153722271_/content/nlsg3_006.html ) in Textfeld1 eingegeben, und ich möchte überprüfen, ob der Inhalt aller Links auf Remote-Server existiert oder nicht. Schließlich möchte ich eine Protokolldatei für die defekten Links.Ich möchte überprüfen, ob die Datei in einer URL eingegeben oder nicht verwendet. NET
Antwort
Machen Sie eine HTTP-Anfrage an die URL und sehen Sie, ob Sie eine 404-Antwort bekommen. Wenn ja, dann existiert es nicht.
Brauchen Sie ein Codebeispiel?
die HttpWebResponse Klasse verwenden:
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://www.gooogle.com/");
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
if (response.StatusCode == HttpStatusCode.NotFound)
{
// do something
}
Vielen Dank Scott für Ihre wertvolle Unterstützung –
bool LinkExist(string link)
{
HttpWebRequest webRequest = (HttpWebRequest) webRequest.Create(link);
HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
return !(webResponse.StatusCode != HttpStatusCode.NotFound);
}
Sie HttpWebRequest verwenden können.
Note vier Dinge
1) Die webRequest wird Ausnahme auslösen, wenn die Verbindung nicht
2) existiert wie Sie können Auto-Umleitung deaktivieren
3) Sie können auch prüfen, gerne wenn es eine gültige URL ist. Wenn nicht, wird UriFormatException ausgelöst.
AKTUALISIERT
4) Per Paige vorgeschlagen, Verwenden Sie "Kopf" in request.method so, dass es nicht die ganze Remote-Datei
static bool UrlExists(string url)
{
try
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "HEAD";
request.AllowAutoRedirect = false;
request.GetResponse();
}
catch (UriFormatException)
{
// Invalid Url
return false;
}
catch (WebException ex)
{
// Valid Url but not exists
HttpWebResponse webResponse = (HttpWebResponse)ex.Response;
if (webResponse.StatusCode == HttpStatusCode.NotFound)
{
return false;
}
}
return true;
}
Hmm ... Vielleicht sollte ich nicht den StatusCode == NotFound überprüfen, da es sowieso WebException ist –
Ich würde auch empfehlen, nur HEAD Anfrage zu senden, damit Sie nicht die gesamte Remote-Ressource herunterladen Datei. Fügen Sie in diesem Fall request.Method = "HEAD" kurz vor der request.GetResponse() Zeile hinzu. –
@Paige Aktualisierte den Code. Vielen Dank –
Verwenden Sie einen HTTP HEAD-Anfrage Download wird wie erklärt In diesem Artikel: http://www.eggheadcafe.com/tutorials/aspnet/2c13cafc-be1c-4dd8-9129-f82f59991517/the-lowly-http-head-reque.aspx
Wenn Ihr Ziel eine stabile Validierung der Seitenquelle ist, ziehen Sie ein Werkzeug in Betracht, das bereits geschrieben wurde, z. B. W3C Link Checker. Es kann als command-line program ausgeführt werden, das das Finden von Links, Bildern, CSS usw. behandelt und sie auf Gültigkeit prüft. Es kann auch eine gesamte Website rekursiv überprüfen.
- 1. kann ich überprüfen, ob eine Datei unter einer URL existiert?
- 2. kann ich überprüfen, ob eine Datei unter einer URL existiert?
- 3. Überprüfen, ob ich die Datei entfernen kann
- 4. Kann htaccess überprüfen, ob die Datei auf einer URL oder einem externen Server existiert?
- 5. Anmeldeformular - Überprüfen, ob Daten eingegeben ($ _SERVER [ 'PHP_SELFf'])
- 6. Überprüfen, ob die Datei mit VBS verwendet wird
- 7. Wie überprüfe ich, ob eine Datei existiert, die ihre URL verwendet, ohne sie herunterzuladen?
- 8. Überprüfen, ob UITextView URL (boolescher Wert) oder URL-Extraktion hat
- 9. Wie kann ich überprüfen, ob die Route "URL" existiert?
- 10. Prüfen, ob URL zu einer Datei oder einer Seite führt
- 11. Überprüfen, ob die Datei von welcher Anwendung verwendet wird?
- 12. Überprüfen Sie, ob URL existiert oder nicht auf Server
- 13. Überprüfen Sie, ob URL gültig ist oder nicht
- 14. Überprüfen Sie, ob URL existiert oder nicht PHP cURL
- 15. Überprüfen Sie, ob Benutzer nicht von URL
- 16. Wie kann ich überprüfen, ob die Mailadresse existiert oder nicht?
- 17. PHP: Überprüfen, ob URL-Weiterleitungen?
- 18. Wie um zu überprüfen, ob eine Bild-URL ist in eine Eingabeaufforderung eingegeben worden - JavaScript
- 19. Überprüfen Sie, ob die Benutzersitzung null ist oder nicht
- 20. Überprüfen Sie, ob die Datei auf einer anderen Website existiert
- 21. IntelliJ - nicht gefragt, ob ich eine Datei speichern möchte
- 22. Überprüfen, ob die Datei 32bit oder 64bit ist - unter Windows
- 23. überprüfen, ob URL existiert php
- 24. Ich möchte die Quell-URL bearbeiten
- 25. Überprüfen, ob eine SQLite-Datenbank geöffnet ist oder irgendwo verwendet
- 26. Python - Überprüfen Sie, ob eine Datei leer ist oder nicht
- 27. Wie kann ich überprüfen, ob die Zahlen in Selenium Webdriver eingegeben wurden?
- 28. Kann ich überprüfen, ob die Datei bereits geöffnet ist?
- 29. Überprüfen, ob die JAR-Datei geladen ist?
- 30. überprüfen, ob url unc Verzeichnispfad
Hey user564931, willkommen in der Gemeinschaft. Achten Sie darauf, alle Antworten, die Sie hilfreich fanden (wie Scott's), abzustimmen. –