Jump to content
miguel5655

Verificar se uma aplicação tem permissões de ligação á internet

Recommended Posts

miguel5655

Boas pessoal.

É assim desenvolvi uma aplicação teste para clientes, que nos informa a nós através de email se a máquina deles consegue aceder a 3 websites alojados nos nossos servidores. A situação é que falhou nos 3 websites e não foi enviado qualquer email, já estou a rever o código. No entanto a minha dúvida é a seguinte sei que um dos websites foi acedido pelo cliente com sucesso, pois foi através dele que descarregou esta aplicação a minha dúvida é se a firewall possa ter bloqueado o acesso á internet á nossa aplicação, daí não conseguir receber nenhum email. Qual seria a melhor forma de implementar na aplicação uma forma de verificar isso. Pensei em fazer um webRequest ao google através da aplicação, mas se a firewall bloquear o acesso á internet fico sempre na mesma. Nem recebo os email's , nem consigo "checkar" os links.

Alguma sugestão ??

Share this post


Link to post
Share on other sites
miguel5655

É possível que se uma máquina só conseguir aceder á internet com proxy, a aplicação não consiga ter acesso á internet ??

Share this post


Link to post
Share on other sites
He B TeMy

Boas pessoal.

É assim desenvolvi uma aplicação teste para clientes, que nos informa a nós através de email se a máquina deles consegue aceder a 3 websites alojados nos nossos servidores. A situação é que falhou nos 3 websites e não foi enviado qualquer email, já estou a rever o código. No entanto a minha dúvida é a seguinte sei que um dos websites foi acedido pelo cliente com sucesso, pois foi através dele que descarregou esta aplicação a minha dúvida é se a firewall possa ter bloqueado o acesso á internet á nossa aplicação, daí não conseguir receber nenhum email. Qual seria a melhor forma de implementar na aplicação uma forma de verificar isso. Pensei em fazer um webRequest ao google através da aplicação, mas se a firewall bloquear o acesso á internet fico sempre na mesma. Nem recebo os email's , nem consigo "checkar" os links.

Alguma sugestão ??

Não tens hipotese se a firewall bloquear o acesso da tua aplicação á internet.

Caso contrário era como estavas a dizer, Webrequest e verificas a resposta, se houver, existe conexão, se não, não existe.

Share this post


Link to post
Share on other sites
programadorvb6

''' <summary>
''' Função para verifica a veracidade do Link, mostrando se está activo.
''' </summary>
''' <remarks></remarks>
Public Function Testa_Link(ByVal Indicar_Link As String) As Boolean
 Dim Obj_Url As New Uri(Indicar_Link)
 Dim Solicita_Lig As WebRequest
 Dim Solicita_Resp As WebResponse = Nothing
 Solicita_Lig = WebRequest.Create(Obj_Url)
 Try
	 Solicita_Resp = Solicita_Lig.GetResponse
	 Solicita_Resp.Close()
	 Return True
 Catch ex As Net.WebException
	 Select Case ex.Status
		 Case Net.WebExceptionStatus.NameResolutionFailure,
			 Net.WebExceptionStatus.ConnectFailure,
			 Net.WebExceptionStatus.Timeout
			 Return False
		 Case Else
			 Return True
	 End Select
 Finally
	 Solicita_Lig = Nothing
 End Try
End Function

''' <summary>
   ''' Funçao para indicar se existe conexão do computador á internet.
   ''' </summary>
   ''' <remarks></remarks>
   Public Function Existe_Internet() As Boolean
    If My.Computer.Network.IsAvailable Then
	    Existe_Internet = True
    Else
	    Existe_Internet = False
    End If
   End Function

Edited by programadorvb6

______________________________________________________________________________

Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.
 

Share this post


Link to post
Share on other sites
He B TeMy

Que eu tenha conhecimento, a 2ª opção só diz se tens conexão por LAN...

Share this post


Link to post
Share on other sites
miguel5655

Boas.

Obrigado pela ajuda. A lógica que apliquei para verificar se o link está activo e se consigo aceder foi mais ou menos essa, somente também implemento a parte do proxy.

Quanto a verificar se tem alguma ligação activa, sendo que isto não implica que tenha ligação á internet ou não, foi uma API do windows:

   <DllImport("wininet.dll", CharSet:=CharSet.Auto)> _
   Private Shared Function InternetGetConnectedState(ByRef lpdwFlags As InternetConnectionState_e, dwReserved As Integer) As Boolean
   End Function
   <Flags> _
   Private Enum InternetConnectionState_e As Integer
    INTERNET_CONNECTION_MODEM = &H1
    INTERNET_CONNECTION_LAN = &H2
    INTERNET_CONNECTION_PROXY = &H4
    INTERNET_RAS_INSTALLED = &H10
    INTERNET_CONNECTION_OFFLINE = &H20
    INTERNET_CONNECTION_CONFIGURED = &H40
   End Enum

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.