众所周知,使用 System.Diagnostics.Process.Start 是从 C# 应用程序启动 url 的方式:
System.Diagnostics.Process.Start(" http://www.mywebsite.com ");
但是,如果此 url 无效,则应用程序似乎无法知道调用失败或原因。有没有更好的方法来启动网络浏览器?如果没有,我最好的 url 验证选择是什么?
众所周知,使用 System.Diagnostics.Process.Start 是从 C# 应用程序启动 url 的方式:
System.Diagnostics.Process.Start(" http://www.mywebsite.com ");
但是,如果此 url 无效,则应用程序似乎无法知道调用失败或原因。有没有更好的方法来启动网络浏览器?如果没有,我最好的 url 验证选择是什么?
尝试如下方法。
try
{
var url = new Uri("http://www.example.com/");
Process.Start(url.AbsoluteUri);
}
catch (UriFormatException)
{
// URL is not parsable
}
这并不能确保资源存在,但可以确保 URL 格式正确。您可能还想检查该方案是否匹配 http 或 https。
如果您需要验证 URL 是否存在,您唯一能做的就是提前创建一个自定义请求并验证它是否有效。不过,我仍然会使用 Process.Start 来打开实际页面。
检查Uri.IsWellFormedUriString静态方法。它比捕获异常便宜。