brug af Firefox's "CookieJar"

Tags:    c# cookies cookiejar firefox cookie

Hej,

Er der nogen der ved hvordan jeg får cookies fra Firefox ned i min winform, så jeg kan bruge det som cookiejar? :)

Jeg har kun fundet en løsning på FF4, men det skal også kunne bruges med FF2-3 ^^



10 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Nu skriver du ikke hvilken metode du bruger, men jeg vil gætte på at du læser cookiesne fra nsICookieManager.enumerator, og den har ikke ændret sig mellem Firefox 2 og Firefox 4, så helt præcist hvorfor virker det ikke?

Man kan dog finde kode på nettet til at læse direkte fra filen, hvor Firefox gemmer sine cookies, men det er en rigtig dum ide. Hvis man glemmer at sørge for at Firefox er lukket helt ned mens man bruger filen, kan man nemt komme til at ødelægge filen, så alle cookies slettes hvis man er heldig, eller Firefox' mulighed for at gemme cookies helt ødelægges, hvis man er uheldig. Filformatet er så vidt jeg husker ændret mellem Firefox 3.6 og Firefox 4. Man bør som regel lave en Firefox-extension, de kan læse cookiesne, og sende dem videre til ens eget program.

Hvorfor vil du i øvrigt have det til at virke på Firefox 2? Der er ikke særligt mange der bruger den mere, og den er ikke længere understøttet af Mozilla.



Jeg læser slet ikke cookies'ne, andet end jeg laver en cookiecollection i min winform.
Det er meningen,at man kan logge ind på en side i FF og derefter bruge mit program til at lave httprequests over samme cookies :)

Jeg vil gøre så det virker for FF2,3,4, så alle har en chance ^^

I FF4 bruger jeg sqlite3 og laver en kopi af cookies.sqlite og læser fra den, men til FF 3/2 kan jeg ikke finde en løsning :/
Det er det mit problem er :)



Firefox 3.0, 3.5, 3.5 og 4.0 gemmer alle cookies i sqlite-format, så det burde kun være Firefox 2.0 du ikke kan læse på den måde. Har du testet at det ikke virker i Firefox 3?

Firefox 2 og ældre bruger en tekstfil, hvis format kan læses her: http://mxr.mozilla.org/firefox2/source/netwerk/cookie/src/nsCookieService.cpp#1106



Sådan ser min kode ud, men jeg får fejlmeddelelsen:"Database is locked".

Fold kodeboks ind/udCSharp kode 




Indlæg senest redigeret d. 26.04.2011 20:10 af Bruger #14181
Hvilken linje kommer fejlbeskeden "Database is locked" fra? SQLiteConnection eller ExecuteReader?

Er du sikker på at Firefox ikke har kørt mens du kørte din kode?

Bruger du den nyeste version af sqlite? Minimum version 3.7.5.



Indlæg senest redigeret d. 26.04.2011 20:00 af Bruger #3143
ok, nu ved jeg hvad man gør. Man kopierer filen også læser den :D
Men den er gal igen: "File opened that is not a database file, file is encrypted or is not a database" :/

Min GetFireFoxCookiePath() ser nu sådan ud:
Fold kodeboks ind/udCSharp kode 




Indlæg senest redigeret d. 26.04.2011 20:43 af Bruger #14181
"File opened that is not a database file, file is encrypted or is not a database"

Det tyder på at du enten bruger en gammel version af sqlite, eller at du har kopieret filen mens Firefox var åben.



Hvorfra downloader jeg sqlite3?
Jeg har prøvet at installere den fra sqlite.org under ".net - x86",
men den kan ikke installeres. Jeg har også downloaded ".net Sysmtem.Data.SQLite" source, men det dur heller ikke :/



Jeg aner intet om .net, så jeg ved det ikke.



ok :)
Men tak so far

NU har jeg downloaded og bruger sqlite3, men det er ikke alle cookies der biver hentet. Serverid og userid, der ellers kommer frem med: "javascript:alert(document.cookie)" bliver ikke hentet og lagt i min CJar :/

Er der ikke en eller anden med en smart løsning til at bruge min firefox session i min C# Winform, så jeg kan logge ind på en side i FF og så bruge sessionen i mit program? :)



Indlæg senest redigeret d. 04.05.2011 11:24 af Bruger #14181
t