Recuperer la valeur d'un cookie via wininet.dll


Contenu du snippet

Suite à une demande par mail, je poste donc la methode pour recuperer une valeur cookie grace a l'api InternetGetCookie.
Le defaut de cette api, c'est qu'il faut connaitre l'url exacte sur laquelle le cookie à été crée (et pas juste le serveur) . La fonction appele aussi le nom de la valeur, mais celle ci peut etre laissé null,InternetGetCookie renverra alors toutes les valeurs cookie.
Au passage je precise que cet api (et InternetSetCookie) ne jouent que sur les cookies placées dans le repertoire Windows\Cookies , donc n'esperez pas recuperer les valeurs de cookie des temporary internet files comme cela...Pour info, manuelement, une valeur se trouve entre deux characteres LF (chr(10) ou vbLf) dans le fichier cookie... ca peut toujours aider (j'avais fait un prog qui recherchait de cette maniere si il ne trouvait pas via internetgetcookie)

Source / Exemple :


'declarer d'abord ceci :
      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

'puis voila la fonction :
Function getcookievalue(urlz As String, cookiename As String)
Dim hbcookieval As String * 256
        Dim bret As Boolean
        bret = InternetGetCookie("" & urlz & "", _
         "" & cookiename & "", hbcookieval, 255)
        If bret = False Then
          MsgBox "Pas de cookie trouvé"
        Else
       getcookievalue = hbcookieval
        End If
End Function

'puis vous appelez la fonction comme tel :
unestring = getcookievalue("http://batto.free.fr/", "aaa")

Conclusion :


Voila, y a les commentaires pour euh, bah des commentaires...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.