J'ai un programme VBScript qui récupère une page Web sur un serveur que je ne contrôle pas. L'URL ressemble à quelque chose comme https://someserver.xxx/index.html
. J'utilise ce code pour créer l'objet qui va chercher la page :
Set objWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
Lorsque j'ai écrit mon programme, il n'a eu aucun problème pour récupérer cette page. Récemment, le serveur web qui sert cette page a subi une mise à jour. Maintenant, mon programme ne peut plus récupérer la page.
Quelques indices :
Indice 1. Je peux récupérer la page Web si j'utilise un navigateur (j'ai essayé Firefox, IE et Chrome).
Indice 2. Le code VBScript produit cette erreur :
Le message reçu était inattendu ou mal formaté.
Indice 3. Je peux récupérer la page Web à partir de la ligne de commande dans certains cas, mais pas dans d'autres :
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
Dans le cas où je ne spécifie pas de protocole, j'obtiens cette erreur :
* SSLv3, TLS handshake, Client hello (1):
* error:14077417:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert illegal parameter
* Closing connection #0
Dans le cas où je spécifie --tlsv1
Je reçois cette erreur :
* 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
A. Quelqu'un a-t-il des suggestions ou des idées sur ce qui pourrait se passer du côté du serveur web (je suis incapable de parler aux administrateurs du serveur web pour savoir ce qu'ils ont changé).
B. Existe-t-il un moyen de modifier mon code VBScript pour contourner ce problème ? La version SSL peut-elle être forcée ?