Tag: winhttp

为什么将内容声明为string会导致WinHttp在Excel VBA中不发送HTTP内容?

我有一个Excel VBAmacros,它的function相当于下面的HTTP POST: Set WebClient = CreateObject("WinHttp.WinHttpRequest.5.1") ' … Configure WebClient for a POST request RequestBody = "<request>" WebClient.send RequestBody 以前,我已经明确地将RequestBody的types设置为一个string,如下所示: Set WebClient = CreateObject("WinHttp.WinHttpRequest.5.1") ' … Configure WebClient for a POST request Dim RequestBody As String RequestBody = "<request>" WebClient.send RequestBody 除了服务器没有收到任何请求内容之外,这似乎工作正常。 在通过这两个版本进行debugging时,RequestBody上的一个表将其types描述为“Variant / String”,并且内容是正确的。 为什么添加一个types会导致这个问题?

VBA WinHttp组件

这是关于VBA的一个问题 我扫了我的书,在网上search了这段代码的答案 Set WinHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1") 所以我已经尝试过无数次search谷歌:WinHttp对象VBA和在这里我访问的一些链接编号为您缓解 在第一个我看到,这就是所谓的WinHttp的参考,你可以看到,在图片上的红色墨水,也没有提到VBA作为一种语言帮助看到蓝色墨水 在数字2没有关于WinHttp组件的信息在那里WinHttpRequest对象检查红色墨水PLZ。 我试图find它作为WinHttpRequest.5.1显式有什么区别? 我试图把它作为5.1,但无济于事。 另外,我非常沮丧地发现,如果我在VBE中input对象浏览器,并searchWinHttp,我发现WinHttpRequest作为一个属性! 还有做我必须从工具参考激活相关的图书馆? 我想拉取XML数据进行财务build模已经不是什么秘密了,我必须理解我search其他答案的这些概念,并且要求提供更多的前期问题 最后,你可以指向一个关于vba-xml交互的材料,请稍微的noob-friendly 感谢您收看我的问题

使用WinHTTP和Excelconfiguration代理

我正在使用WinHTTP在Excel VBAmacros中执行GET请求。 但是,如果我尝试使用代理服务器在networking中执行请求,则不起作用。 如果我手动configuration它,它可以工作,但我不认为将使用我正在开发的工具的人会知道他们的代理服务器。 有没有办法自动configuration代理服务器,或从Windows获取代理configuration? 这里有一个示例代码: 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 在这种情况下,我不想强​​制用户find“proxyserver:8080”地址 – 我想要的是自动填充的方法。 非常感谢。

VBA WinHTTP从密码保护https网站下载文件

我试图使用WinHTTP从https密码保护的网站保存文件。 代码如下: Sub SaveFileFromURL() Dim FileNum As Long Dim FileData() As Byte Dim WHTTP As Object fileUrl = "https://www.website.com/dir1/dir2/file.xls" filePath = "C:\myfile.xls" myuser = "username" mypass = "password" Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5.1") WHTTP.Open "GET", fileUrl, False WHTTP.SetCredentials myuser, mypass, HTTPREQUEST_SETCREDENTIALS_FOR_SERVER WHTTP.Send FileData = WHTTP.ResponseBody Set WHTTP = Nothing FileNum = FreeFile Open filePath For Binary […]