MSXML send pas envoyé
Herve_be
Messages postés
1182
Date d'inscription
Statut
Membre
Dernière intervention
-
Herve_be Messages postés 1182 Date d'inscription Statut Membre Dernière intervention -
Herve_be Messages postés 1182 Date d'inscription Statut Membre Dernière intervention -
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)
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.
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
-
Bonjour
Ton script n'attend pas de savoir si la page est finie de chargée...
Lien
-
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