DLL Call (InternetGetCookieW)

  • Hallo,

    ich versuche grade das erste Mal, einen DllCall zu nutzen und komme nicht so richtig weiter. Für die gewollte Funktion habe ich sogar ein Beispiel gefunden, das aber auch nicht (mehr) funktioniert.

    Der aktuelle Stand ist folgender:

    Der DLL-Call gibt mir immer immer einen Fehler zurück und ich verstehe nicht, warum das so ist. Hat jemand eine Idee?

    Vielen Dank

    • Offizieller Beitrag

    Probier mal so:

    EDIT: Habe es erst jetzt testen können - bekomme keine Fehler, aber auch keine Werte von der Funktion. Auf den ersten Blick fällt mir jetzt nicht auf, weshalb.

    Aber auf den zweiten: Die Funktion kann bei mir nichts zurückgeben - ich habe keine Cookies, die der Vorgabe entsprechen (Ablaufdatum in der Zukunft). Vermutlich, weil nur Daten des IE verwendet werden - somit ist diese Funktion geradezu unnütz.

    Du hattest den Fehler, weil du das Null-terminiert nicht beachtet hast. Daten vom Typ wchar sind immer Null-terminiert, d.h. sie müssen mit einem Chr(0) am Ende markiert werden. Dieses zusätzliche Zeichen muss man dann natürlich auch bei der Länge des vorbereiteten Puffers beachten.

    Alternativ kann man übrigens Cookies recht simpel aus ihren Verzeichnissen auslesen.

  • BugFix vielen Dank für deine Hilfe :)! Ist ja interessant mit dem Null-terminiert, gut zu wissen.

    Und wirklich nur IE? Herrje... Ja, dann ist das wirklich von fragwürdigem Nutzen. :) Hatte es anders verstanden und mich gefreut, was gefunden zu haben. Die WinHttp.au3 hat ja leider kein richtiges Cookie-Handling und ich dachte, dass ich damit an die Cookies komme oder im Zweifel zumindest die aus Chrome.

    In WinHttp kommt man ja an den Header und "Set-Cookie:", aber mir erschließt sich einfach nicht, wie daraus der wirkliche Cookie wird, den der Server dann wieder erwartet.

    Ich verfolge mal den Hinweis mit dem Auslesen aus den Verzeichnissen, danke dir.

    -> Bei Chrome ist das in einer SQLite-Datenbank hier abgelegt:

    Code
    C:\Users\<your_username>\AppData\Local\Google\Chrome\User Data\Default\

    Aber lässt sich nicht so leicht zugreifen (https://stackoverflow.com/questions/2253…okies-in-chrome)... ^^

    2 Mal editiert, zuletzt von aSeCa (26. Januar 2019 um 23:26)