Qual é a melhor maneira de lançar um navegador Web com uma URL personalizada de um aplicativo C #?

StackOverflow https://stackoverflow.com/questions/129917

  •  02-07-2019
  •  | 
  •  

Pergunta

É do conhecimento comum que o uso System.Diagnostics.Process.Start é o caminho para lançar um url de um C # applicaiton:

System.Diagnostics.Process.Start ( " http://www.mywebsite.com ");

No entanto, se esta URL é inválida a aplicação parece ter nenhuma maneira de saber que a chamada falhou ou o porquê. Existe uma maneira melhor para lançar um navegador web? Se não, qual é a minha melhor opção para validação url?

Foi útil?

Solução

Tente uma abordagem como abaixo.

try
{
    var url = new Uri("http://www.example.com/");

    Process.Start(url.AbsoluteUri);
}
catch (UriFormatException)
{
    // URL is not parsable
}

Este não garante que a exist recurso, mas ele faz garantir a URL está bem formado. Você também pode querer verificar se o esquema está combinando HTTP ou HTTPS.

Outras dicas

Se você precisa verificar se existe a URL, a única coisa que você pode fazer é criar uma solicitação personalizada com antecedência e verificar se ele funciona. Eu ainda usar o Process.Start a desembolsar para a página real, no entanto.

Verifique o método Uri.IsWellFormedUriString estático. É mais barato do que pegar exceção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top