Как я могу получить доступ к куки из InternetExplorer.Application

Можно ли получить доступ к заголовку ответа из InternetExplorer.Application в VB/VBA/VB.net?

myIE = CreateObject("InternetExplorer.Application")
    .Visible = False
    .Navigate "http://someserver/resources/postrequest"

Дайте этот код, как мне получить заголовок или, точнее, файл cookie.

Это очень удобно для выполнения вызовов веб-служб с помощью MSXML2.ServerXMLHTTP на серверы, которым для проверки подлинности требуются файлы cookie. После получения файла cookie его можно передать в заголовке для последующих вызовов веб-службы.


vba
person ltfishie    schedule 13.03.2012    source источник


Ответы (1)


Private Declare Sub Sleep Lib "kernel32" _
    (ByVal dwMilliseconds As Long)

Private Function getCookie()
    Dim myIe As Object
    Set myIe = CreateObject("InternetExplorer.Application")
    myIe.Visible = False
    myIe.Navigate "http://someurl"
    Do While myIe.Busy
        Sleep 20
    Loop
    getCookie= myIe.Document.cookie
End Function

Чтобы это работало на 64-разрядной версии, необходимо добавить ключевое слово PtrSafe в определение Sleep:

Private Declare PtrSafe Sub Sleep Lib "kernel32" _
    (ByVal dwMilliseconds As Long)
person ltfishie    schedule 13.03.2012
comment
Пока это не файл cookie HTTPOnly - person Tim Williams; 14.03.2012