Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: [vb.net] cookien(?) nollaus

Sinis [31.03.2009 10:59:38]

#

Moi

Olen kääntämässä pientä ohjelman pätkää vb6 => vb.net

Tarkoituksena on siirtää vakioveikkausrivi veikkauksen palvelimelle.

Rivin siirto veikkauksen palvelimelle (toimii ok):

request = WebRequest.Create("https://www.veikkaus.fi/www4text?game=sport&op=checkGame&l=f&P=N&T=1&M=13&I11=1&I12=1&I13=X&I14=X&I15=2&I16=1&I17=1&I18=1&I19=2&I1A=2&I1B=1&I1C=X&I1D=2")
request.Method = "POST"
request.ContentType = "application/x-www-form-urlencoded"
Response = request.GetResponse()
reader = New StreamReader(Response.GetResponseStream, System.Text.Encoding.Default)
Vastaus = reader.ReadToEnd
reader.Close()
Response.Close()

Tässä välissä haetaan vahvistustunnukset (signature, id) vastaustekstistä.

Rivin vahvistus:

request = WebRequest.Create("https://www.veikkaus.fi/www4text?op=acceptGame&transaction-ID=" & id & "&" & _
                "signature1=" & sign1 & "&" & "signature2=" & sign2 & "&" &...........)
request.Method = "POST"
request.ContentType = "application/x-www-form-urlencoded"
Response = request.GetResponse()
reader = New StreamReader(Response.GetResponseStream, System.Text.Encoding.Default)
Vastaus = reader.ReadToEnd
reader.Close()
Response.Close()

Ongelmana on se, että jostain syystä vahvistustunnukset jäävät jonnekin koneen syövereihin eikä palvelimelle ole mahdollista siirtää riviä vanhoilla vahvistustunnuksilla. Miten nuo tunnukset (cookiet?) saa 'nollattua'? Menenkö taas p edellä puuhun?

Grez [31.03.2009 11:26:36]

#

Pikemminkin tulisi mieleen, että keksi jää matkalle. Tuo koodisi ei näytä tallettavan ensimmäisessä yhteydessä mahdollisesti saatuja keksejä mihinkään.

En tiedä mitä komponenttia käytit VB6:n puolella, mutta se luultavasti säilytti keksit pyyntöjen välillä.

Sinis [31.03.2009 13:02:48]

#

Hain noi tunnukset (signature1 jne.) tekstistä ja tallensin ne muuttujiin, jotka nollattiin välillä. On vissiin olemassa parempikin tapa, mutta kun en sitä osaa..

VB6:n puolella homma hoitui noin:

Set HttpReq = New WinHttpRequest

HttpReq.Open "POST",......

    ' HTTP pyyntö
    HttpReq.Send

    ' HTTP vastaus
    vastaus = HttpReq.ResponseText

Ja tuosta vastauksesta tongittiin ne tunnukset.

Mitenköhän saan noita palvelimelta tulevia keksejä luettua/talletettua/nollattua?

Grez [31.03.2009 14:58:14]

#

WinHttpRequest säilöö saamansa keksit ja antaa ne automaattisesti.
WebRequestin kanssa taas voi esimerkiksi luoda CookieStore olion ja antaa se sama CookieStore kullekin WebRequestille.

Sinis [01.04.2009 08:49:37]

#

Osaisiko joku antaa sellaisen "cookies for dummies" -esimerkin siitä, miten noita keksejä webrequestilla käsitellään? Noi vb.netin omat ohjeet on syvemmältä kuin mariaanien hauta enkä maallikkona oikein tunnu pääsevän tästä hommasta jyvälle.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta