CefSharp Cookies speichern

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von HeizungAuf5.

    CefSharp Cookies speichern

    Hallo Zusammen,

    nachdem ich es dann doch mit eurer Hilfe geschafft habe, einen CefSharp-Browser einzubauen, stehe ich nun vor einem neuen Problem.

    Der build-in Browser welcher ja auch dem IE basiert, speichert Cookies. Der CefSharp nicht. Daher habe ich das Problem, dass ich mich jedes mal beim Start der Anwendung neu in der WebApp anmelden muss, was an dem Rechner, an dem es zum Einsatz kommt schwierig wird, da dieser keine angeschlossene Tastatur/Maus hat.

    Jemand einen Tipp, wie ich die Cookis speichern kann? Die von mir gefundenen Snippets funktionieren nicht wirklich.

    Mein aktueller Code zum Aufbau der Anwendung sieht wie folgt aus:

    VB.NET-Quellcode

    1. Private WithEvents browser As ChromiumWebBrowser
    2. Public Sub New()
    3. InitializeComponent()
    4. Dim settings As New CefSettings()
    5. CefSharp.Cef.Initialize(settings)
    6. browser = New ChromiumWebBrowser("http://XXX") With {
    7. .Dock = DockStyle.Fill
    8. }
    9. panBrowser.Controls.Add(browser)
    10. End Sub

    panBrowser ist ein Panel, welches als Browser fungiert.

    Grüße!

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Wie wäre es, wenn du dich mit den Möglichkeiten von CefSharp auseinander setzt?
    magpcss.org/ceforum/apidocs3/p…l#persist_session_cookies
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.

    MrTrebron schrieb:

    Wie wäre es, wenn du dich mit den Möglichkeiten von CefSharp auseinander setzt?

    Diese Seite kenn ich, und auch das persist_session_cookies scheint das zu sein, was ich brauche.

    Die Frage ist nur, wo ich das implementieren soll, es einfach in den Codeblock reinzusetzen, der den Browser aufbaut funktioniert nicht

    VB.NET-Quellcode

    1. Public Sub New()
    2. InitializeComponent()
    3. [b]Dim persist_session_cookies As Integer
    4. persist_session_cookies = 1[/b]
    5. Dim settings As New CefSettings()
    6. CefSharp.Cef.Initialize(settings)
    7. browser = New ChromiumWebBrowser("https://XXX") With {
    8. .Dock = DockStyle.Fill
    9. }
    10. panBrowser.Controls.Add(browser)
    11. End Sub


    xChRoNiKx schrieb:

    zeig uns mal was du schon versucht hast gerne die snippets posten.

    Versucht habe ich die Antworten aus diesen Threads. Zum Teil dann vorher noch mit einem C#2VB.NET Converter passend gemacht.

    - stackoverflow.com/questions/41…harp-how-to-store-cookies
    - stackoverflow.com/questions/30…kies-in-cefsharp-wpf?rq=1

    Grüße!
    Moin,

    du hast die Threads nicht wirklich gelesen oder? Du musst einen Cache Path setzten in den CefSettings.
    Du übergibst hier ja nur eine leere Settings Instanz. Das steht genauso auch in den von dir verlinkten Seiten.

    So muss es aussehen:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports CefSharp.WinForms
    2. Public Class Form1
    3. Private WithEvents browser As ChromiumWebBrowser
    4. Private _cachePath As String = IO.Path.Combine(Environment.CurrentDirectory, "cache")
    5. Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    6. Dim settings As New CefSettings()
    7. If Not IO.Directory.Exists(_cachePath) Then IO.Directory.CreateDirectory(_cachePath)
    8. settings.PersistSessionCookies = True
    9. settings.CachePath = _cachePath
    10. CefSharp.Cef.Initialize(settings)
    11. browser = New ChromiumWebBrowser("https://google.de") With {
    12. .Dock = DockStyle.Fill
    13. }
    14. Panel1.Controls.Add(browser)
    15. End Sub
    16. End Class


    Hab ich grad getestet und funktioniert, Login bei Google Anwendung aus, Anwendung gestartet bin immer noch eingeloggt.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen