Как использовать cURL для отправки файлов cookie?



Я читал, что отправить куки с curl работает, но не для меня



у меня есть 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 -


чего мне не хватает?

651   3  

3 ответов:

это сработало для меня

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

я мог видеть значение в backend с помощью

print request.cookies

вы можете обратиться к https://curl.haxx.se/docs/http-cookies.html для полного руководства по работе с файлами cookie. вы можете использовать

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

для записи в файл cookie и запуска двигателя и использовать cookie вы можете использовать

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

чтобы прочитать файлы cookie и запустить механизм файлов cookie, или если это не файл, он передаст заданную строку.

вы используете неправильный формат в файле cookie. Как curl documentation государства, он использует старый формат файла cookie Netscape, который отличается от формата, используемого веб-браузерами. Если вам нужно создать файл cookie curl вручную, этот пост должны помочь вам. В вашем примере файл должен содержать следующую строку

127.0.0.1   FALSE   /   FALSE   0   USER_TOKEN  in

имея 7 разделенных табуляцией полей, что означает домен,tailmatch,путь, безопасное,истекает,имя,стоимостью.

Comments

    Ничего не найдено.