2016-03-19 7 views
5

Ho cercato molto su Google così come StackOverflow. Non riuscivo a trovare Come ottenere cookie (o in generale, le intestazioni HTTP) da una pagina Web e quindi modificarlo e inviarlo di nuovo?| Linguaggio di programmazione rosso | Come ottenere i cookie da una pagina Web?

[So come fare POST/GET richieste utilizzando in lettura/scrittura, ma Cookies idk]

+0

Rosso ora ha solo supporto temporaneo IO che fornisce solo funzionalità di base. Per il supporto completo dell'IO dovresti attendere 0.7.0. – rebolek

+0

Ok ... @rebolek BTW CTRL + F alla ricerca https://github.com/red/red/blob/master/runtime/simple-io.reds per 'header' mostra un sacco di cose. Sei sicuro che non sia ancora possibile estrarre l'intestazione? – Noobscripter

+0

Questa era solo un'ipotesi e @docKimbel mi ha dimostrato che era sbagliato, è possibile anche ora, che è una buona cosa. Ad ogni modo, il mio punto è che la piena funzionalità di IO è 0.7.0 cosa. – rebolek

risposta

7

Anche con la corrente temporanea supporto IO, è ancora possibile estrarre intestazioni HTTP e cookie informazioni:

red>> data: read/info http://microsoft.com 
== [200 #(
Cache-Control: "no-cache, no-store" 
Connection: "keep-alive" 
Date: "Wed,... 

red>> list: data/2/set-cookie 
== [{MS-CV=z/YnyU+5wE2gT8S1.1; domain=.microsoft.com; expires=Thu, 24-Mar-2016 10:59:39 GMT; pa... 

red>> foreach str list [probe parse str [collect [keep to "=" skip keep to [";" | end]]]] 
["MS-CV" "z/YnyU+5wE2gT8S1.1"] 
["MS-CV" "z/YnyU+5wE2gT8S1.2"] 

Le intestazioni HTTP vengono memorizzati in una mappa !, quindi se diversi Le intestazioni Set-Cookie vengono inviate, si otterrà un blocco di stringhe, oppure solo una stringa per la chiave Set-Cookie.

read/info restituirà un blocco con 3 elementi: (! Interi)

  • codice di ritorno HTTP
  • intestazioni HTTP (mappa!)
  • dati richiesti
(stringa o binari!!)

Note:

  • HTTP S è supportato da read e write.
  • il posto migliore per ottenere informazioni su Red è quello di aderire al Red chat room su Gitter. ;-)
0

cookie sono solo un campo nell'intestazione di risposta

Hai provato "the library people"

+0

rebol.org non ha script per red-lang AFAIK –

Problemi correlati