Je lis que Envoyer des cookies avec curl fonctionne, mais pas pour moi
J'ai un noeud final REST
comme
class LoginResource(restful.Resource):
def get(self):
print(session)
if 'USER_TOKEN' in session:
return 'OK'
return 'not authorized', 401
quand j'essaie d'accéder en tant que
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"%
où mon ~/Downloads/cookies.txt
est
cat ~/Downloads/cookies.txt
USER_TOKEN=in
et le serveur ne reçoit rien
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 -
<SecureCookieSession {}>
<SecureCookieSession {}>
127.0.0.1 - - [13/Apr/2013 21:45:45] "GET / HTTP/1.1" 401 -
qu'est-ce que je manque?
Cela a fonctionné pour moi
curl -v --cookie "USER_TOKEN=Yes" http://127.0.0.1:5000/
Je pouvais voir la valeur dans le backend en utilisant
print request.cookies
vous pouvez vous référer à https://curl.haxx.se/docs/http-cookies.html pour obtenir un didacticiel complet sur l'utilisation des cookies. vous pouvez utiliser
curl -c /path/to/cookiefile http://yourhost/
écrire dans un fichier cookie et démarrer le moteur et utiliser un cookie que vous pouvez utiliser
curl -b /path/to/cookiefile http://yourhost/
lire les cookies à partir de et démarrer le moteur de cookies, ou s'il ne s'agit pas d'un fichier, il passera sur la chaîne donnée.
Vous utilisez un format incorrect dans votre fichier de cookie. Comme documentation curl , il utilise un ancien format de fichier de cookie Netscape, qui est différent du format utilisé par les navigateurs Web. Si vous devez créer un fichier de cookie curl manuellement, cet article devrait vous aider. Dans votre exemple, le fichier doit contenir la ligne suivante
127.0.0.1 FALSE / FALSE 0 USER_TOKEN in
ayant 7 champs séparés par une tabulation signifiant domaine , tailmatch , chemin , sécurisé , expire , nom , valeur .