Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 登录后的Http post请求_Vba_Http - Fatal编程技术网

Vba 登录后的Http post请求

Vba 登录后的Http post请求,vba,http,Vba,Http,我的目标是:我想在用户登录后发送一个httprequest以获取Post Json(用户将使用Internet Explorer) 所以,在我的VBA代码中,我希望允许用户在浏览器中登录,然后他可以按下一个按钮来提取json(以表格形式) 我的问题是:如何在http请求中附加InternetExplorer cookies(已经具有凭据)。我试图发送一个httprequest,但收到“success”:false 如果我在InternetExplorer中手动输入URL,我可以成功下载de js

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

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

我的问题是:如何在http请求中附加InternetExplorer cookies(已经具有凭据)。我试图发送一个httprequest,但收到“success”:false

如果我在InternetExplorer中手动输入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

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

使用
MSXML2.XMLHTTP
而不是
MSXML2.ServerXMLHTTP
@Omegalipes,我尝试过,但没有成功。结果是一样的:(