Я пытаюсь получить все файлы cookie, связанные со специальной страницей, которую я открыл (я уже прошел проверку подлинности). Есть несколько файлов cookie, связанных с веб-страницей, мне нужно получить каждый куки файл, чтобы позже выполнить POST.
Я пробовал несколько подходов, но ни один из них не дал мне полный список. Я написал код до сих пор в VBA, но мне хорошо, что он тоже в .NET.
Первая попытка, после получения указателя на IE.
arraycookie = Split(ie.document.Cookie, ";")
For i = LBound(arraycookie) To UBound(arraycookie)
Debug.Print arraycookie(i)
Next i
Это дает мне некоторые файлы cookie, но не все из них. Я могу просмотреть файлы cookie в инструментах разработчика (F12), и я подтвердил, что ни один из файлов cookie не имеет отмеченного только HTTP-флага. См. Рисунок ниже.
Я также попробовал API окон InternetGetCookie. Он возвращает файл cookie, но только один, и он тот же, независимо от имени (например, FedAuth ниже).
Private Sub GetCookieAttempt()
Dim sCookieVal As String * 256
Dim bRet As Boolean
bRet = InternetGetCookie("https://mywebsiteaddresshere.com", _
"FedAuth", sCookieVal, 255)
If bRet = False Then
MsgBox "Failed"
Else
MsgBox sCookieVal
End If
End Sub
Это всего лишь предположение (любая идея, как я мог узнать?), но из того, что я прочитал, может быть, что cookie защищен. Я взглянул на IEGetProtectedModeCookie API, но я не мог заставить его возвращать информацию о файлах cookie.
Не уверен, почему я вижу это через инструменты разработчика, но когда я пытаюсь разоблачить информацию, он не возвращает все.
Любая помощь будет принята с благодарностью:)
Спасибо!
Edit
Итак, после того, как я начал разбираться по этой проблеме, мне показалось, что я попробую одну и ту же веб-страницу с другим браузером и снова просмотрю детали файлов cookie.
Используя Firebug, файлы cookie, которые я пытался извлечь, теперь показывают флаг HTTPOnly. Насколько я понимаю, я могу использовать InternetGetCookieEx с указанным флажком INTERNET_COOKIE_HTTPONLY. Однако я не могу заставить его что-либо вернуть.
Есть ли у кого-нибудь рабочий образец, который я могу выполнить?