登录后的Http发布请求

时间:2019-09-30 16:54:24

标签: vba http

我的目标是:我要在用户登录后发送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

有人知道如何解决吗?

0 个答案:

没有答案