Получение нескольких файлов cookie в VBScript - PullRequest
3 голосов
/ 13 сентября 2011

Я думаю, что это может быть простой вопрос, но я немного застрял.

Я использую эту функцию vbscript, чтобы открыть веб-страницу и получить cookie.

Function Fetch(URL)

   Set WshShell = CreateObject("WScript.Shell")
   Set http = CreateObject("Microsoft.XmlHttp")
    http.open "", URL, FALSE
    Fetch = http.getResponseHeader("Set-Cookie")
   set WshShell = nothing
   set http = nothing  

End Function

Он отлично работает для возврата одного куки, но я обнаружил страницу, которая создает два куки, и мне нужны оба.Когда я использую это, он просто возвращает первый файл cookie.Как мне вернуть оба куки?

Большое спасибо

1 Ответ

4 голосов
/ 14 сентября 2011

Должен написать свой собственный:

Option Explicit

Function Fetch(ByVal URL, ByVal sHdrName)
    Dim http
    Set http = CreateObject("Microsoft.XmlHttp")
        http.open "GET", URL, False
        http.Send
        Fetch = getHeaders(http, sHdrName)
    Set http = Nothing  
End Function

Function getHeaders(oReq, sHdrName)
    Dim tHdrName : tHdrName = Trim(sHdrName) & ": "
    Dim tArr : tArr = Split(oReq.getAllResponseHeaders(), vbCrLf)
    tArr = Filter(tArr, tHdrName, True, vbTextCompare)
    Dim i
    For i = 0 To UBound(tArr)
        tArr(i) = Mid(tArr(i), Len(tHdrName) + 1, Len(tArr(i)))
    Next
    getHeaders = tArr 'Returns Array
End Function

'Iterate & Fetch
Dim iHdrVal
For Each iHdrVal In Fetch("http://a.url", "Set-Cookie")
    WScript.Echo iHdrVal
Next
...