MSXML send pas envoyé

Herve_be Messages postés 1176 Statut Membre -  
Herve_be Messages postés 1176 Statut Membre -
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 40050 Statut Modérateur 4 758
 
Bonjour

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

0
Herve_be Messages postés 1176 Statut Membre 11
 
Merci mais ton lien donne 404 - Page not found
0
jordane45 Messages postés 40050 Statut Modérateur 4 758 > Herve_be Messages postés 1176 Statut Membre
 
Lien corrigé
0
Herve_be Messages postés 1176 Statut Membre 11
 
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