Eu tenho um programa VBScript que recupera uma página da web de um servidor que não está sob meu controle. O URL é parecido com https://someserver.xxx/index.html
. Eu uso este código para criar o objeto que a página está recebendo:
Set objWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
Quando escrevi meu programa, não tive problemas para recuperar essa página. Recentemente, o servidor da Web que atende a essa página passou por uma atualização. Agora meu programa não pode mais buscar a página.
Algumas dicas:
Dica 1. Eu posso buscar a página da web se eu usar um navegador (tentei o Firefox, o IE e o Chrome).
Clue 2. O código VBScript produz este erro:
The message received was unexpected or
badly formatted.
Clue 3. Eu posso buscar a página da web a partir da linha de comando em certos casos, mas não em outros:
curl --sslv3 -v -k 'https://someserver.xxx/index.html' # WORKS!
curl --sslv2 -v -k 'https://someserver.xxx/index.html' # WORKS!
curl -v -k 'https://someserver.xxx/index.html' # FAILS
curl --tlsv1 -v -k 'https://someserver.xxx/index.html' # FAILS
No caso em que não especifico um protocolo, recebo este erro:
* SSLv3, TLS handshake, Client hello (1):
* error:14077417:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert illegal parameter
* Closing connection #0
No caso em que eu especifique --tlsv1
, recebo este erro:
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS alert, Server hello (2):
* error:14094417:SSL routines:SSL3_READ_BYTES:sslv3 alert illegal parameter
* Closing connection #0
Alguém tem alguma sugestão ou idéia sobre o que pode estar acontecendo no final do servidor da Web (não consigo conversar com os administradores do servidor da Web para descobrir o que eles mudaram).
Existe uma maneira que eu possa alterar meu código VBScript para contornar esse problema? A versão SSL pode ser forçada?