FTPWebRequest ne fonctionne plus sous Windows 11
Bonjour à tous,
Je viens vers vous car je rencontre un dysfonctionnement et souhaiterai votre aide pour identifier mon souci.
Je viens de migrer mon poste Win10 vers Win11 (La migration semble s'être bien déroulée) et depuis la partie permettant de discuter (via FTPWebRequest avec certificat auto-signé - ListDirectory, Download, Upload & Delete) avec mon serveur FTP (vsFTP sous Debian) ne fonctionne plus.
J'ai refait le test avec un autre Win10 (aucun problème) et un second Win11 (mêmes erreurs).
Exemple d'erreusr rencontrées :
Citation:
- Upload : System.Net.WebException*: 'Erreur système.' - UnknownError {16}
- ListDirectory : ReceiveFailure erreur - {3}
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Public Sub FTPWebRequest_FileList_1v2(_folder As String, _ftpusername As String, _ftppassword As String)
ServicePointManager.ServerCertificateValidationCallback = AddressOf AcceptAllCertifications
Dim request = DirectCast(WebRequest.Create(_folder), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.ListDirectory
request.EnableSsl = True
request.Credentials = New NetworkCredential(_ftpusername, _ftppassword)
Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
Dim responseStream As Stream = response.GetResponseStream
Z_CptFile = 0
Using reader As New StreamReader(responseStream)
Do While reader.Peek <> -1
Dim line As String = reader.ReadLine
Frm_FTP_WebRequest.FTP_WebRequest_RTBox01.Text &= line & vbCrLf
ReDim Preserve FtpIni(Z_CptFile + 1)
FtpIni(Z_CptFile) = line
Z_CptFile = Z_CptFile + 1
Loop
End Using
response.Close()
FtpIni_IDMax = Z_CptFile
End Sub |
Merci d'avance pour votre aide
Résolution de mon dysfonctionnement avec FTPWebRequest sur Windows 11
Bonjour à tous,
J'ai résolu mon soucis de la manière suivante :
1 - J'ai vérifié / modifié le paramétrage initial de mon serveur vsFTPd en imposant l'utilisation de TLS 1.2
2 - J'ai ajouté à mon code la ligne suivante :
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12.
Sans cette ligne, cela ne fonctionnait toujours pas.
Bon dev