[Gambas-user] gb.qt5.webkit Cookies
T Lee Davidson
t.lee.davidson at gmail.com
Thu Aug 23 16:28:47 CEST 2018
I haven't experimented with the cookie array as you have, so this is just a shot in the dark. Is it possible that this is a
character encoding issue? Perhaps the cookies are being saved & restored in a different encoding than those sites expect.
___
Lee
On 08/23/2018 12:55 AM, james at lixce.com wrote:
> Has anyone been able to store and read cookies with qt5.webkit?
>
> I'm iterating through WebView1.Cookies and writting each field and a key to a file when I close the form.
>
> Public Sub CookieJar_Store()
> Dim cFile As File
> Dim macaroon As Cookie
>
> File.Save("/home/james/macaroons.txt", "")
> cFile = Open "/home/james/macaroons.txt" For Write
> Output To cFile
> For Each macaroon In WebView1.Cookies
> Print "Domain: " & macaroon.Domain
> Print "Expire: " & macaroon.ExpirationDate
> Print "HttpON: " & macaroon.HttpOnly
> Print "Name: " & macaroon.Name
> Print "Path: " & macaroon.Path
> Print "Secure: " & macaroon.Secure
> Print "Session: " & macaroon.Session
> Print "Value: " & macaroon.Value
> Next
>
> Output To Default
> Close cFile
> End
>
> Then when on open I read them back into an array, then copy that array to WebView1.Cookies
> (kind ov verbose,trying to figure out waht is happening
> Public Sub CookieJar_Fill()
>
> Dim cFile As File
> Dim sLine As String
> Dim macaroon As New Cookie
> Dim myCookies As New Cookie[]
>
> If Not Exist("/home/james/macaroons.txt") Then Return
>
> cFile = Open "/home/james/macaroons.txt" For Input
>
> While Not Eof(cFile)
>
> Line Input #cFile, sLine
> 'sLine = Replace(sLine, "\n", "")
> If sLine Begins "Domain: " Then
> macaroon.Domain = String.Right(sLine, -8)
> Endif
> If sLine Begins "Expire: " Then
> macaroon.ExpirationDate = String.Right(sLine, -8)
> Endif
> If sLine Begins "HttpON: " Then
> macaroon.HttpOnly = String.Right(sLine, -8)
> Endif
> If sLine Begins "Name: " Then
> macaroon.Name = String.Right(sLine, -6)
> Endif
> If sLine Begins "Path: " Then
> macaroon.Path = String.Right(sLine, -6)
> Endif
> If sLine Begins "Secure: " Then
> macaroon.Secure = String.Right(sLine, -8)
> Endif
> If sLine Begins "Value: " Then
> macaroon.Value =String.Right(sLine, -7)
> myCookies.Add(macaroon)
> Endif
> Wend
>
> Close cFile
>
> WebView1.Cookies = myCookies
>
> Print "Cookie Count: " & WebView1.Cookies.Count
> End
>
> When I Print the cookies to the console using a sub similar to the CookieJar_Store, after loading, they look the same as the text file (minus the keys of course). But Google, Amazon, NFCU refuse to accept them, the sites act the same as if there are no cookies at all. I don't think I need to store the session cookies but makes no difference if I don't.
>
> I have looked at the WebBrowser example and Gentleman Borwser but niether of them do anything with cookies. There is an old project called Aredia that is written in Gambas but I cannot figure out what they were doing with cookies.
>
> So, anyone figured out a way to save and restore cookies in gb.qt5.webkit.
>
> Thanks, -j
>
>
>
>
>
>
>
>
>
> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]----
>
More information about the User
mailing list