Microsoft KB Archive/196062

= How To Set and Get Cookies for a URL Using WinInet APIs =

Article ID: 196062

Article Last Modified on 8/30/2004

-

APPLIES TO


 * Microsoft Visual Basic 5.0 Professional Edition
 * Microsoft Visual Basic 6.0 Professional Edition
 * Microsoft Visual Basic 5.0 Enterprise Edition
 * Microsoft Visual Basic 6.0 Enterprise Edition
 * Microsoft Windows Internet Services (WinInet)

-



This article was previously published under Q196062



SUMMARY
From a Visual Basic application, you can set and get cookies on a client that corresponds to a given URL by using the InternetSetCookie and InternetGetCookie APIs from the WinInet.dll.



MORE INFORMATION
 Create a new standard .exe project in Visual Basic. Form1 is created by default.  Add the following controls to Form1:      Control           Name           Caption --     Command Button    Command1       InternetSetCookie Command Button   Command2       InternetGetCookie

  In Form1, add the following code in the code window: Option Explicit

' No more data is available. Const ERROR_NO_MORE_ITEMS = 259

' The data area passed to a system call is too small. Const ERROR_INSUFFICIENT_BUFFER = 122

Private Declare Function InternetSetCookie Lib "wininet.dll" _ Alias "InternetSetCookieA" _ (ByVal lpszUrlName As String, _      ByVal lpszCookieName As String, _       ByVal lpszCookieData As String) As Boolean

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

Private Sub Command1_Click Dim bRet As Boolean bRet = InternetSetCookie("http://xxxx/xxxx.htm", _       "Test", "Sent as Test via VB") If bRet = False Then MsgBox "Failed" End If     End Sub

Private Sub Command2_Click Dim sCookieVal As String * 256 Dim bRet As Boolean bRet = InternetGetCookie("http://xxxx/xxxx.htm", _        "Test", sCookieVal, 255) If bRet = False Then MsgBox "Failed" Else MsgBox sCookieVal End If     End Sub 

