我的目标是:我要在用户登录后发送httprequest以获取Post Json(用户将使用Internet Explorer)。
因此,在我的VBA代码中,我想允许用户在浏览器中进行登录,然后他可以按一个按钮来提取json(以表格形式)。
我的问题是:如何在http请求中附加InternetExplorer cookie(已经具有凭据)。我尝试发送httprequest,但是收到“成功”:false”。
如果我在Internet Explorer中手动输入URL,则可以成功下载de json文件-但我的愿望是通过responseText来获取
我的代码:
Sub GetJson(url as String)
Dim IE As InternetExplorer
Dim HTMLdoc As HTMLDocument
Dim aaa As String
Set objShell = CreateObject("Shell.Application")
'Get already open Internet Explorer
For x = 0 To (objShell.Windows.Count - 1)
On Error Resume Next
my_url = objShell.Windows(x).document.Location
my_title = objShell.Windows(x).document.Title
If my_title = "MY-PAGE" Then
Set IE = objShell.Windows(x)
Exit For
End If
Next
With IE
Set HTMLdoc = .document
End With
'Try to Get Json
Dim XMLHTTP As New MSXML2.ServerXMLHTTP60
XMLHTTP.Open "POST", url, False
XMLHTTP.send
xxx = XMLHTTP.responseText
MsgBox xxx
Set objShell = Nothing
Set IE = Nothing
Set HTMLdoc = Nothing
End Sub
有人知道如何解决吗?