J'utilise "winhttp.winhttpequest.5.1" pour envoyer des demandes de post HTTP de VBA à Excel. Mais je ne pouvais pas réussir à le faire pour HTTPS, car j'ai reçu une erreur de certificat SSL. P>
Quel code VBA utiliseriez-vous pour négocier une connexion SSL sur un site Web de VBA à Excel? P>
3 Réponses :
L'objet winhttprecest em> a une méthode em> setClientCertificate em>. Essayez cet exemple de code pris depuis le MSDN (i essayé de l'adapter pour VBA): ' Instantiate a WinHttpRequest object. '
Dim HttpReq as new ActiveXObject("WinHttp.WinHttpRequest.5.1")
' Open an HTTP connection. '
HttpReq.Open("GET", "https://www.test.com/", false)
' Select a client certificate. '
HttpReq.SetClientCertificate("LOCAL_MACHINE\Personal\My Certificate")
' Send the HTTP Request. '
HttpReq.Send()
Bien que je n'ai pas utilisé le composant COM (WinHTTPRequest), il semble que vous ayez besoin d'un appel à SetClientCertificate avant d'appeler Envoyer, selon le lien. P>
Est-ce que cela aide? P>
J'ai la même situation (envoyez une demande HTTP d'un VBA dans Excel); J'ai créé trois objets: - pour la classe de demande HTTP et p> - pour entrer dans une variable du contenu du certificat , pour le transmettre à afin que je puisse envoyer la demande, y compris son certificat de clé publique, comme d'habitude, P> ps J'ai trouvé un script à http://www.808.dk/?code-simplewinhttprequest - Cela a bien fonctionné dans mon cas, j'espère aussi dans la tienne. P> p> httpreq.seclientcertificate code>, p>
Pourriez-vous publier un code s'il vous plaît? En outre, "WinHTTP.WINHTTTPQUEST.5.1" Un composant COM? Où le trouver?