首页 > 解决方案 > 登录后的Http post请求

问题描述

我的目标是:我想在用户登录后发送一个 httprequest 来获取一个 Post Json(用户将使用 Internet Explorer)。

所以,在我的 VBA 代码中,我想允许用户在浏览器中登录,然后他可以按下一个按钮来提取 json(以表格形式)。

我的问题是:如何在我的 http 请求中附加 InternetExplorer cookie(已经有凭据)。我尝试发送一个httprequest,但是我收到了“成功”:假。

如果我在 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

有谁知道如何解决这个问题?

标签: vbahttp

解决方案


推荐阅读