Heim >Backend-Entwicklung >C++ >Wie kann ich HTTP- und HTTPS-URLs in der Eingabe zuverlässig validieren?

Wie kann ich HTTP- und HTTPS-URLs in der Eingabe zuverlässig validieren?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-09 14:08:42267Durchsuche

How Can I Reliably Validate HTTP and HTTPS URLs in Input?

Robuste Eingabevalidierung für HTTP- und HTTPS-URLs

Übliche URL-Validierungsmethoden wie Uri.IsWellFormedUriString und Uri.TryCreate können gültige HTTP-URLs manchmal nicht zuverlässig von anderen Dateipfaden unterscheiden. Dies stellt eine erhebliche Herausforderung bei der Validierung von Benutzereingaben dar, wenn nur HTTP- oder HTTPS-URLs akzeptabel sind.

Ein genauerer Ansatz: Kombination von URI-Validierung und Schemaprüfung

Eine robustere Lösung besteht darin, die strukturelle URI-Validierung mit einer spezifischen Prüfung für das HTTP- oder HTTPS-Schema zu kombinieren:

<code class="language-csharp">Uri uriResult;
bool isValidHttpUrl = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && uriResult.Scheme == Uri.UriSchemeHttp;</code>

Dieser Code verwendet zunächst Uri.TryCreate, um die Eingabezeichenfolge (uriString) als wohlgeformten URI zu überprüfen. Bei Erfolg wird dann geprüft, ob das URI-Schema Uri.UriSchemeHttp.

ist

Ausweitung der Validierung auf HTTPS

Um HTTPS-URLs einzubeziehen, erweitern Sie einfach den Schemavergleich:

<code class="language-csharp">Uri uriResult;
bool isValidHttpOrHttpsUrl = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);</code>

Diese erweiterte Prüfung akzeptiert sowohl HTTP- als auch HTTPS-Protokolle und bietet eine umfassende URL-Validierung für Ihre Eingabe.

Das obige ist der detaillierte Inhalt vonWie kann ich HTTP- und HTTPS-URLs in der Eingabe zuverlässig validieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn