MSXML send pas envoyé

Fermé
Herve_be Messages postés 1066 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 23 septembre 2024 - 11 avril 2020 à 12:51
Herve_be Messages postés 1066 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 23 septembre 2024 - 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 38273 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 novembre 2024 4 696
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 1066 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 23 septembre 2024 9
11 avril 2020 à 14:07
Merci mais ton lien donne 404 - Page not found
0
jordane45 Messages postés 38273 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 novembre 2024 4 696 > Herve_be Messages postés 1066 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 23 septembre 2024
11 avril 2020 à 14:50
Lien corrigé
0
Herve_be Messages postés 1066 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 23 septembre 2024 9
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