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
.
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!