WinHTTP.WinHTTPRequest.5.1 и TLS
У меня есть сайт, написанный на классическом ASP. После того, как PayPal и мой провайдер выполнили обновления для TLS 1.2, приведенный ниже код завершается с ошибкой в строке "objHttp.Send nvpStrComplete" с ошибкой: "Произошла ошибка в поддержке безопасного канала". Весь код функции показан ниже. Совет кому-нибудь?
Function hash_call (nvpStr, unique_id)
Set objHttp = Server.CreateObject("WinHTTP.WinHTTPRequest.5.1")
nvpStrComplete = "USER=" & gv_APIUser & "&VENDOR=" & gv_APIVendor & "&PARTNER=" & gv_APIPartner & "&PWD=" & gv_APIPassword & nvpStr
nvpStrComplete = nvpStrComplete & "&BUTTONSOURCE=" & Server.URLEncode( gv_BNCode )
Set SESSION("nvpReqArray")= deformatNVP( nvpStrComplete )
objHttp.open "POST", gv_APIEndpoint, False
WinHttpRequestOption_SslErrorIgnoreFlags=4
objHttp.Option(WinHttpRequestOption_SslErrorIgnoreFlags) = &H3300
objHttp.SetRequestHeader "Content-Type", "text/namevalue"
objHttp.SetRequestHeader "Content-Length", Len(nvpStrComplete)
objHttp.SetRequestHeader "X-VPS-CLIENT-TIMEOUT", "45"
objHttp.SetRequestHeader "X-VPS-REQUEST-ID", unique_id
' set the host header
If Env = "pilot" Then
objHttp.SetRequestHeader "Host", "pilot-payflowpro.paypal.com"
Else
objHttp.SetRequestHeader "Host", "payflowpro.paypal.com"
End If
If gv_UseProxy Then
'Proxy Call
objHttp.SetProxy gv_Proxy, gv_ProxyServer& ":" &gv_ProxyServerPort
End If
on error resume next
objHttp.Send nvpStrComplete '<--- failing line
if Err.Nuber <> 0 Then
Response.Redirect("ErrorPage.asp?msg=No Purchases can be made at this time on our website. To make a purchase please call our store at: 732-549-4343")
Else
Set nvpResponseCollection = deformatNVP(objHttp.responseText)
Set hash_call = nvpResponseCollection
Set objHttp = Nothing
If Err.Number <> 0 Then
SESSION("Message") = ErrorFormatter(Err.Description,Err.Number,Err.Source,"hash_call")
SESSION("nvpReqArray") = Null
Else
SESSION("Message") = Null
End If
End If
End Function