2017-10-16 4 views
0

J'écris un programme dans mon cours de sciences informatiques et j'ai rencontré une erreur en essayant d'obtenir l'adresse IPv4 publique de l'ordinateur.Impossible de créer une connexion SSL/TLS en vb lorsque j'essaie d'obtenir l'adresse IPv4

Ceci est mon code:

Private Function GetMyIP() As Net.IPAddress 
    Using wc As New Net.WebClient 

     Return Net.IPAddress.Parse(Encoding.ASCII.GetString(wc.DownloadData("http://tools.feron.it/php/ip.php"))) 


    End Using 
End Function 

Il est ensuite appelé en utilisant ce code:

tboxPublicIPv4.Text = GetMyIP().ToString 

Cependant, quand il tente d'écrire l'adresse IPv4 à la zone de texte que je reçois cette erreur:

An unhandled exception of type 'System.Net.WebException' occurred in System.dll 

Additional information: The request was aborted: Could not create SSL/TLS secure channel. 

Toute aide serait appréciée. Je vous remercie.

Répondre

1

L'URL que vous appelez redirige vers https, et il semble qu'au moins TLS 1.1 est requis.

Vous pouvez activer TLS 1.1 ou TLS 1.2 pour Net.WebClient en définissant le protocole de sécurité avec ServicePointManager.SecurityProtocol.

En outre, vous pouvez utiliser DownloadString au lieu de convertir les données téléchargées en une chaîne. Je voudrais également l'envelopper dans un Try/Catch.

Function GetMyIP() As Net.IPAddress 
    Using wc As New Net.WebClient 
     ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 

     Try 
      Return Net.IPAddress.Parse(wc.DownloadString("https://tools.feron.it/php/ip.php")) 
     Catch ex As Exception 
      Return New Net.IPAddress(0) 
     End Try 
    End Using 
End Function 

.NET 4.0 supports up to TLS 1.0 while .NET 4.5 or higher supports up to TLS 1.2
For reference:

+0

Je vais essayer cela, je vous remercie – IsaSca

+0

Je reçois maintenant un System.NullReferenceException avec des informations supplémentaires de « référence d'objet non définie à une instance d'un objet ». Cela se produit à la ligne 36. tboxPublicIPv4.Text = GetmyIP(). ToString – IsaSca