我刚刚将Jupyter升级到4.3.1版本 虽然我可以打开以前创建的ipynb文件,但我无法创建新文件。
当我尝试创建一个新的笔记本文件时,我会弹出一个窗口说:
创建笔记本失败
创建新笔记本时发生错误
禁
在终端中我注意到这个输出:
[W 12:53:23.375 NotebookApp] 403 POST /api/contents (::1): '_xsrf' argument missing from POST
[W 12:53:23.383 NotebookApp] 403 POST /api/contents (::1) 8.92ms referer=http://localhost:8888/tree?token=e7fbbb58516dc1359fcc26a1079093166a1f713ee5b94ccd
我使用Jupyter和Python 3.5.2以及IPython 5.1.0
答案 0 :(得分:7)
我必须在浏览器中启用cookie(我故意禁用它)。然后“禁止”错误消失了,一切都好了。
普遍接受的防止XSRF的解决方案是为每个用户提供不可预测的值,并将该值作为附加参数包含在您网站上的每个表单中。
来自:http://tornado.readthedocs.io/en/latest/guide/security.html#cross-site-request-forgery-protection
答案 1 :(得分:5)
确认问题的另一种方法是在另一个浏览器中打开您的Jupyter会话,您可能会被重定向到如下屏幕:
如果您打开一个新控制台并输入
jupyter notebook list
您将看到当前的笔记本,并且该网址将包含令牌。在新选项卡中打开它并解决问题。
输出命令应如下所示:
Currently running servers:
http://localhost:8888/?token=cbad1a6ce77ae284725a5e43a7db48f2e9bf3b6458e577bb :: <path to notebook>
答案 2 :(得分:1)
我刚才有这个问题,但我注意到它在Edge中有效。删除Chrome中的所有浏览器缓存(包括Cookie)解决了这个问题。