Come usare cURL per inviare cookie?

Ho letto che i cookie di Send con arricciatura funzionano, ma non per me

Ho un endpoint REST come

 class LoginResource(restful.Resource): def get(self): print(session) if 'USER_TOKEN' in session: return 'OK' return 'not authorized', 401 

quando provo ad accedere come

 curl -v -b ~/Downloads/cookies.txt -c ~/Downloads/cookies.txt http://127.0.0.1:5000/ * About to connect() to 127.0.0.1 port 5000 (#0) * Trying 127.0.0.1... * connected * Connected to 127.0.0.1 (127.0.0.1) port 5000 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.27.0 > Host: 127.0.0.1:5000 > Accept: */* > * HTTP 1.0, assume close after body < HTTP/1.0 401 UNAUTHORIZED < Content-Type: application/json < Content-Length: 16 < Server: Werkzeug/0.8.3 Python/2.7.2 < Date: Sun, 14 Apr 2013 04:45:45 GMT < * Closing connection #0 "not authorized"% 

dove è il mio ~/Downloads/cookies.txt

 cat ~/Downloads/cookies.txt USER_TOKEN=in 

e il server non riceve nulla

 127.0.0.1 - - [13/Apr/2013 21:43:52] "GET / HTTP/1.1" 401 - 127.0.0.1 - - [13/Apr/2013 21:45:30] "GET / HTTP/1.1" 401 -   127.0.0.1 - - [13/Apr/2013 21:45:45] "GET / HTTP/1.1" 401 - 

cosa mi manca?

Questo ha funzionato per me

  curl -v --cookie "USER_TOKEN=Yes" http://127.0.0.1:5000/ 

Potrei vedere il valore nel backend usando

 print request.cookies 

puoi fare riferimento a https://curl.haxx.se/docs/http-cookies.html per un tutorial completo su come lavorare con i cookie. Puoi usare

 curl -c /path/to/cookiefile http://yourhost/ 

scrivere su un file cookie e avviare il motore e utilizzare i cookie che è ansible utilizzare

 curl -b /path/to/cookiefile http://yourhost/ 

per leggere i cookie da e avviare il motore dei cookie, o se non è un file passerà sulla stringa data.

Stai utilizzando un formato errato nel tuo file cookie. Come afferma la documentazione di ricciolo , utilizza un vecchio formato di file cookie Netscape, che è diverso dal formato utilizzato dai browser web. Se devi creare manualmente un file cookie arricciato, questo post dovrebbe aiutarti. Nel tuo esempio il file dovrebbe contenere la seguente riga

 127.0.0.1 FALSE / FALSE 0 USER_TOKEN in 

avendo 7 campi separati da TAB che significano dominio , coda , percorso , sicurezza , scadenza , nome , valore .