MSXML send pas envoyé

Fermé
Herve_be Messages postés 1094 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 9 avril 2025 - 11 avril 2020 à 12:51
Herve_be Messages postés 1094 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 9 avril 2025 - 11 avril 2020 à 16:02
Bonjour,
J'utilise MSXML2.ServerXMLHTTP.6.0 pour invoquer une page web
La plupart du temps ça fonctionne très bien
mais j'ai l'impression que parfois elle n'est pas appelée du tout
voici mon code (URL contient bien l'adresse de la page web à appeler)
Public Function HTTP(URL As String) As String
Dim objHTTP As Object
Dim strURL As String
Const SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
objHTTP.setOption 2, SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS
objHTTP.Open "GET", URL
objHTTP.send
If objHTTP.Status = 200 Then
        HTTP = objHTTP.responseText
Else
        HTTP = "HTTP " & CStr(objHTTP.Status) & " " & objHTTP.StatusText
End If
Set objHTTP = Nothing

parfois au retour HTTP est vide, je ne comprends pas pourquoi.
Comment savoir si .send a fonctionné et, sinon, pourquoi ?
Merci d'avance pour votre aide.

2 réponses

jordane45 Messages postés 38472 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2025 4 744
Modifié le 11 avril 2020 à 14:49
Bonjour

Ton script n'attend pas de savoir si la page est finie de chargée...
Lien

0
Herve_be Messages postés 1094 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 9 avril 2025 10
11 avril 2020 à 14:07
Merci mais ton lien donne 404 - Page not found
0
jordane45 Messages postés 38472 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2025 4 744 > Herve_be Messages postés 1094 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 9 avril 2025
11 avril 2020 à 14:50
Lien corrigé
0
Herve_be Messages postés 1094 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 9 avril 2025 10
11 avril 2020 à 16:02
Merci,
après .send j'ai ajouté
objHTTP.waitForResponse

Ça ne change rien.
En parcourant pas à pas, il faut "un certain temps" pour exécuter le .send mais le .waitForResponse est immédiat, donc je pense qu'il attend de toute façon que ce soit terminé.

Par contre je me suis rendu compte que je ne traite pas une erreur éventuelle de .open ou .send, j'ai ajouté un On Error Goto et bingo, j'ai une erreur 80072F7D = The certificate authority is invalid or incorrect donc probablement un problème d'activation de TSL
0