Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB6
Expertise: Intermediate
Sep 19, 2000

GetCookies - Get local cookies for a given URL

Private Declare Function InternetGetCookie Lib "wininet.dll" Alias _
    "InternetGetCookieA" (ByVal lpszUrlName As String, _
    ByVal lpszCookieName As String, ByVal lpszCookieData As String, _
    lpdwSize As Long) As Boolean

' Get locally-stored cookies for a specified URL
'
' If CookieName is omitted, returns all the cookies as
' as semicolon-delimited list of NAME=VALUE pairs

Function GetCookies(ByVal URL As String, Optional CookieName As String) As _
    String
    Dim buffer As String
    Dim length As Long
    
    ' prepare the receiving buffer
    length = 10240
    buffer = Space$(length)
    ' query WinInet for cookies from this URL
    ' a zero value means failure
    If InternetGetCookie(URL, vbNullString, buffer, _
        length) = 0 Then Exit Function
    
    ' LENGHT has received the size of returned data
    buffer = Left$(buffer, length)
    
    If Len(CookieName) = 0 Then
        ' the entire cookie string was requested
        GetCookies = buffer
    Else
        ' extract one single cookie
        Dim cookies() As String
        Dim i As Long, tmp As String
        
        ' get the individual cookies
        cookies = Split(buffer, ";")
        
        ' search for the right one
        For i = 0 To UBound(cookies)
            ' trim the leading space, if any
            tmp = LTrim$(cookies(i))
            If InStr(1, tmp, CookieName & "=", vbTextCompare) = 1 Then
                ' we've got it
                GetCookies = Mid$(tmp, Len(CookieName) + 2)
                Exit For
            End If
        Next
    End If
    
End Function
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date