1

在 Tornado 应用程序中,我为

settings = dict( cookie_secret="11oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/", xsrf_cookies=True, autoescape="xhtml_escape", ) (从网络复制,将更改 cookie_secret),我正在尝试使用 curl 从命令行执行

curl -d "name=Paola&last_name=James" --header "X-CSRFToken:11oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/" http://127.0.0.1:8000/registration

我得到了错误

curl: (6) Couldn't resolve host 'X-CSRFToken:11oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o'
<html><title>403: Forbidden</title><body>403: Forbidden</body></html>

如何将 xsrf 传递给主机?

4

1 回答 1

1

XSRF 必须在 cookie 标头中传递,格式为数据 OR X-CSRFToken/X-XSRFToken

curl -d "name=Paola&last_name=James&_xsrf=11oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/" --cookie "_xsrf=11oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/; Path=/" http://127.0.0.1:8000/registration

或者

curl -d "name=Paola&last_name=James" --cookie "_xsrf=11oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/; Path=/" --header "X-CSRFToken: 11oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/" http://127.0.0.1:8000/registration
于 2012-12-26T06:08:40.607 回答