У меня есть приложение, которое подключается к каналу http, и недавно я узнал, что мне нужно убедиться, что соединение поддерживает протокол TLS 1.2.У меня сложилось впечатление, что так оно и было написано с помощью .NET Framework v 4.0, но кто-то может проверить.
В других ответах здесь говорится, что будет достаточно просто обновить фреймворк до последней версии, но я также вижу другие ответы, предполагающие включение следующего утверждения:
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
ServicePointManager.DefaultConnectionLimit = 9999;
Мой вопрос:только вставьте вышеизложенное без обновления фреймворка, этого будет достаточно.Также, где я могу вставить это в код ниже.Для обновления потребуется определенное время, и его нужно запланировать.
Вот код, используемый в настоящее время:
If uri.Scheme = uri.UriSchemeHttps Then
Dim request As HttpWebRequest = DirectCast(Net.WebRequest.Create(url), HttpWebRequest)
request.Method = "POST"
request.Headers.Add("Accept-Encoding: Deflate,gzip")
request.ContentLength = System.Text.Encoding.UTF8.GetByteCount(data)
If request.ContentLength > 1000000 Then
Thread.Sleep(1000)
End If
request.ContentType = "application/json"
request.KeepAlive = False
request.Timeout = 300000
Dim usernamepassword As String = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(uname + ":" + pword))
request.Headers.Add("Authorization", "Basic " + usernamepassword)
request.Credentials = New System.Net.NetworkCredential(username, password)
Dim writer As Stream = request.GetRequestStream()
writer.Write(postBytes, 0, postBytes.Length)
writer.Close()
Using oResponse As HttpWebResponse = request.GetResponse()
Dim rStream As Stream = request.GetResponse().GetResponseStream
rStream = New GZipStream(rStream, CompressionMode.Decompress)
Dim reader As New StreamReader(rStream)
responseData = reader.ReadToEnd()
appLogs.constructLog(currRule & vbNewLine & " #TERM SUCCESSFULLY ADDED! " & responseData, True, False)
reader.Close()
oResponse.Close()
End Using
End If