Configuration de proxy avec WinHTTP et Excel
Je suis en utilisant WinHTTP pour faire une demande d'OBTENIR, dans un fichier Excel Macro VBA. Cependant, si j'essaie de faire la demande à partir d'une machine dans un réseau avec un proxy, il ne fonctionne pas. Si je le configurer manuellement, il fonctionne, mais je ne pense pas que les gens qui vont utiliser l'outil que je suis en développement connaîtront leurs serveurs proxy.
Est-il un moyen de configurer automatiquement le serveur proxy, ou pour obtenir la configuration de proxy à partir de Windows? Voici un exemple de code:
Dim result As String
Dim URL As String
Dim winHttpReq As Object
Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
URL = "http://google.com/"
winHttpReq.Open "GET", URL, False
winHttpReq.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
winHttpReq.setProxy 2, "proxyserver:8080", ""
winHttpReq.send
result = winHttpReq.responseText
Dans ce cas, je ne veux pas forcer l'utilisateur à trouver le "serveur proxy:8080" adresse - ce que je veux, c'est un moyen de remplir automatiquement.
Merci beaucoup.
OriginalL'auteur Yuri Oliveira | 2012-05-14
Vous devez vous connecter pour publier un commentaire.
J'ai eu le dessous de vbScript à partir du lien suivant. Vous pouvez être en mesure à utiliser pour obtenir le serveur proxy et le passer comme une variable à votre code pour "serveur proxy:8080":
http://www.activexperts.com/activmonitor/windowsmanagement/scripts/networking/client/retrieving/
Si vous connaissez vbScript - qui est très similaire à VBA, je pense que cela devrait aider beaucoup. Si vous avez besoin d'aide pour rédiger ce en VBA, laissez-moi savoir.
Intéressant. Cela a fonctionné pour moi. Laissez-moi savoir si vous trouvez le problème. Si ça aide, je suis sur XP.
Win32_Proxy n'est plus disponible post win-xp
OriginalL'auteur Scott Holtzman
Au cas où quelqu'un d'autre tombe sur cette page, vous cherchez une réponse à cette même question, je voudrais souligner à cette réponse, qui mentionne l'utilisation de la VBA-Web projet pour résoudre ce problème exact.
Votre code devrait alors ressembler à ceci:
OriginalL'auteur Alexandre D'Erman