[vb.net] cookies bewaren op schijf

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 09:24
ik heb een cookie container in vb.net die wordt gebruikt om op een bepaalde website in te loggen middels een HttpWebRequest.

Echter tijdens de 1e inlog procedure wordt er een extra security vraag gesteld en volgens mij wordt in een cookie opgeslagen dat dit goed beantwoord is. Dus als je een tweede keer met je browser handmatig inlogt wordt deze vraag overgeslagen.

Middels HttpWebRequest boots ik dit proces na, echter na de run van het programma verdwijnen de cookies in het niet. Is er een mogelijkheid om deze cookies wel te bewaren tussen meerdere runs?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
[google=cookiecontainer save to file] :?
Zitten volgens mij voldoende bruikbare zaken in de 1e pagina resultaten?

[ Voor 48% gewijzigd door RobIII op 18-05-2016 13:46 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 09:24
RobIII schreef op woensdag 18 mei 2016 @ 13:45:
[google=cookiecontainer save to file] :?
Zitten volgens mij voldoende bruikbare zaken in de 1e pagina resultaten?
lees vooral dat er problemen mee zijn en dat het niet goed te doen is...
tweede gedachte is om mijn commandline login programma om te zetten in een continue draaiend programma (net als een browser) en zo de cookies bewaard houden.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
trekker22 schreef op woensdag 18 mei 2016 @ 13:48:
lees vooral dat er problemen mee zijn en dat het niet goed te doen is...
Kijk je ook naar resultaten jonger dan 2009? Er zijn volgens mij zat oplossingen/workarounds inmiddels?
Wat heb je al bekeken / geprobeerd precies?
trekker22 schreef op woensdag 18 mei 2016 @ 13:48:
tweede gedachte is om mijn commandline login programma om te zetten in een continue draaiend programma (net als een browser) en zo de cookies bewaard houden.
Beetje met een kanon op een mug schieten, niet?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 09:24
https://msdn.microsoft.co...cs-lang=vb#code-snippet-5
dit is volgens mij het meest duidelijke voorbeeld, waar ze ook de cookies wegschrijven/terug lezen.


Echter er wordt nergens gesteld/uitgelegd dat de cookies ook hergebruikt kunnen worden?
request.CookieContainer = New CookieContainer()
Dat stukje kan ik nog nergens terug vinden. Maar we zoeken nog verder
EDIT eerst maar eens proberen de cookies te saven!

[ Voor 5% gewijzigd door trekker22 op 18-05-2016 14:06 ]


Acties:
  • 0 Henk 'm!

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 09:24
na een wat puzzelen inderdaad de oplossing gevonden. Een stukje C# code vertaald naar VB.Net en het werkt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    Public Sub WriteCookiesToDisk(myfile As String, cookieJar As CookieContainer)
        Using mystream As Stream = File.Create(myfile)
            Console.WriteLine("Writing cookies to disk... ")
            Dim formatter As New BinaryFormatter()
            formatter.Serialize(mystream, cookieJar)
            Console.WriteLine("Done.")
        End Using
    End Sub

    Public Function ReadCookiesFromDisk(myfile As String) As CookieContainer
        Try
            Using mystream As Stream = File.Open(myfile, FileMode.Open)
                Dim formatter As New BinaryFormatter()
                Console.WriteLine("cookies uitgelezen")
                Return formatter.Deserialize(mystream)
            End Using
        Catch ex2 As Exception
            Console.WriteLine("cookie file bestaat niet of onleesbaar, beginnen met lege jar")
            Return New CookieContainer
        End Try
    End Function

nu is het nog uitzoeken of het verschil uitmaakt!
Pagina: 1