Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0381: IE-Cookies setzen & lesen mit der Wininet.dll

 von 

Beschreibung 

Cookies des Internet Explorers lassen sich auf direktem Wege mit zwei Funktionen der Wininet.dll setzen und auslesen.

Schwierigkeitsgrad:

Schwierigkeitsgrad 2

Verwendete API-Aufrufe:

InternetGetCookieA (InternetGetCookie), InternetSetCookieA (InternetSetCookie)

Download:

Download des Beispielprojektes [2,18 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Schaltfläche "Command2"
' Steuerelement: Schaltfläche "Command1"
' Steuerelement: Beschriftungsfeld "Label2"
' Steuerelement: Beschriftungsfeld "Label1"

Option Explicit

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 Long
        
Private Declare Function InternetSetCookie Lib "wininet.dll" _
        Alias "InternetSetCookieA" (ByVal lpszUrlName As _
        String, ByVal lpszCookieName As String, ByVal _
        lpszCookieData As String) As Long
        
Const WWW As String = "http://www.wullewulle.de"

Private Sub Command1_Click()
    Dim Cookie As String
    Dim Result As Long
    
    Cookie = "TestWert=4711"
    Result = InternetSetCookie(WWW, vbNullChar, Cookie)
    
    If Result <> 1 Then
        Call MsgBox("Fehler!")
    Else
        Command2.Enabled = True
    End If
End Sub

Private Sub Command2_Click()
    Dim Buffer As String, BufSz As Long, Result As Long
    
    Buffer = String$(100, Chr$(0))
    BufSz = Len(Buffer)
    
    Result = InternetGetCookie(WWW, vbNullChar, Buffer, BufSz)
    If Result = 0 And BufSz > Len(Buffer) Then
        Buffer = String$(BufSz, Chr$(0))
        Result = InternetGetCookie(WWW, vbNullChar, Buffer, BufSz)
    End If
    
    Label1.Caption = Buffer
End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 6 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von Jens am 06.01.2009 um 14:16

Hallo,
funktioniert das auch unter VS2005 mit InternetExplorer7? Gibt es ggf. Alternativen?

Gruß

Kommentar von entel am 04.05.2005 um 22:30

hallo
ich möchte die cookies lesen
deswegen habe ich ihren kod genommen aber ieder weiss ich nicht wie ich es benutzen kann
wird mich freuen für die hilfe
danke alles gute !

Kommentar von OIaf Dopheide am 14.07.2004 um 15:04

Frage wird das Cookie überhaupt auf die festplatte gespeichert?

und wenn nicht, wie kann man es speichern

Kommentar von Achim am 11.04.2004 um 17:45

Hi,
Kann mir einer sagen in welchem Ordner die Cookies gespeichert werden?

Kommentar von Daniel am 13.12.2003 um 13:02

Hi!
Wo wird dieses kookie eigentlich gespeichert???
ich hab Windows 2000, aber unter dem "normalen" verzechnis, also "C:\Dokumente und Einstellungen\Daniel\Lokale Einstellungen\Temporary Internet Files" kann ich kein neues cookie erkennen(und ich hab vorher alle anderen dateien gelöscht), nachdem ich das programm gestartet, und je 1 mal auf "setzen" und "auslesen".
Ausserdem verstehe ich leider nicht, wie ich den code ändern muss, um ein Cookie von ebay zu lesen.
mfg

Daniel

Kommentar von Hendrik Jordt am 23.10.2001 um 08:45

Das Programm funzt nicht unter NT4.0 Es wird zwar keine Fehlermeldung ausgeworfen, aber nach Prüfung der Cookies, weiss ich das es nicht gesetzt wurde.