curlを使ってクッキーを送る works
私はREST
エンドポイントを持っています
class LoginResource(restful.Resource):
def get(self):
print(session)
if 'USER_TOKEN' in session:
return 'OK'
return 'not authorized', 401
としてアクセスしようとしたとき
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"%
私の~/Downloads/cookies.txt
は
cat ~/Downloads/cookies.txt
USER_TOKEN=in
そしてサーバは何も受け取らない
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 -
私が行方不明になっているのは何ですか?
これは私のために働きました
curl -v --cookie "USER_TOKEN=Yes" http://127.0.0.1:5000/
私は使用してバックエンドの値を見ることができました
print request.cookies
クッキーの使用方法の完全なチュートリアルについては、 https://curl.haxx.se/docs/http-cookies.html を参照してください。あなたが使用することができます
curl -c /path/to/cookiefile http://yourhost/
cookieファイルに書き込んでエンジンを起動し、cookieを使用する
curl -b /path/to/cookiefile http://yourhost/
cookieを読み込んでCookieエンジンを起動するか、ファイルでない場合は指定された文字列を渡します。
あなたはあなたのクッキーファイルで間違ったフォーマットを使用しています。 curlドキュメント で述べられているように、これは古いNetscapeクッキーファイルフォーマットを使用しています。これはウェブブラウザで使用されているフォーマットとは異なります。手動でcurl cookieファイルを作成する必要がある場合は、 この記事 が役に立ちます。あなたの例では、ファイルは次の行を含むべきです
127.0.0.1 FALSE / FALSE 0 USER_TOKEN in
domain 、 tailmatch 、 path 、 secure 、 expires 、 を意味する7つのTAB区切りフィールド名前 、 値 。