HTTP 和 HTTPS URL 的强大输入验证
常见的 URL 验证方法(例如 Uri.IsWellFormedUriString
和 Uri.TryCreate
)有时无法可靠地区分有效的 HTTP URL 和其他文件路径。在验证仅接受 HTTP 或 HTTPS URL 的用户输入时,这提出了重大挑战。
更准确的方法:结合 URI 验证和方案检查
更强大的解决方案是将结构 URI 验证与 HTTP 或 HTTPS 方案的特定检查相结合:
<code class="language-csharp">Uri uriResult; bool isValidHttpUrl = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && uriResult.Scheme == Uri.UriSchemeHttp;</code>
此代码首先使用 Uri.TryCreate
验证输入字符串 (uriString
) 是否为格式良好的 URI。 如果成功,它会检查 URI 的方案是否为 Uri.UriSchemeHttp
.
扩展验证以包括 HTTPS
要包含 HTTPS URL,只需展开方案比较即可:
<code class="language-csharp">Uri uriResult; bool isValidHttpOrHttpsUrl = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);</code>
此增强检查接受 HTTP 和 HTTPS 协议,为您的输入提供全面的 URL 验证。
以上是如何可靠地验证输入中的 HTTP 和 HTTPS URL?的详细内容。更多信息请关注PHP中文网其他相关文章!