使用WinHttp.WinHttpRequest.5.1控件,读取数据时返回多行set-cookie但是用.GetResponseHeader("Set-Cookie")只能读取到每一行如何取到每二个Set-Cookie,第三个Set-Cookie呢?以下为返回的头信息
HTTP/1.1 200 OK
Date: Sat, 24 Sep 2011 22:17:26 GMT
Server: xxx Login Server/2.0.0
P3P: CP="CAO PSA OUR"
Set-Cookie: ads=12331414; ads=Fri, 02-Jan-2010 00:00:00 GMT; PATH=/; DOMAIN=xxx.com;
Set-Cookie: uin=3213120414; PATH=/; DOMAIN=xxx.com;
Set-Cookie: aes=@SpAofUf9z; PATH=/; DOMAIN=xxx.com;
可以QQ或QQ邮箱上告诉我哦!63272765

解决方案 »

  1.   

    字符串处理而已,可以自己写个。
    '自定义函数,返回数组集合
    Function GetResponseHeader(ResponseHeaders,Header)
    Dim hs,h
    Dim fs
    Dim rs(),rc
    hs=Split(ResponseHeaders,vbCrLf)
    ReDim rs(UBound(hs))
    For Each h In hs
    If Len(h)>0 Then 
    fs=Split(h,": ")
    If StrComp(fs(0),Header,vbTextCompare)=0 Then
    rs(rc)=fs(1)
    rc=rc+1
    End If
    End If
    Next

    If (rc>0) Then
    ReDim Preserve rs(rc-1)
    GetResponseHeader=rs
    End If
    End Function
    '示例
    Dim r,v
    Dim HttpRequest
    Set HttpRequest=CreateObject("WinHttp.WinHttpRequest.5.1")'WinHttp.WinHttpRequest.5.1
    With HttpRequest
    .Open "GET","http://www.163.com"
    .Send
    r=GetResponseHeader(.GetAllResponseHeaders(),"Vary")
    If IsEmpty(r) Then
    MsgBox "未找到!"
    Else
    For Each v In r
    MsgBox v
    Next
    End If
    End With
    Set HttpRequest=Nothing