Jupyter创建笔记本失败:FORBIDDEN

时间:2017-01-08 11:59:22

标签: jupyter-notebook

我刚刚将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

3 个答案:

答案 0 :(得分:7)

我必须在浏览器中启用cookie(我故意禁用它)。然后“禁止”错误消失了,一切都好了。

  

普遍接受的防止XSRF的解决方案是为每个用户提供不可预测的值,并将该值作为附加参数包含在您网站上的每个表单中。

来自:http://tornado.readthedocs.io/en/latest/guide/security.html#cross-site-request-forgery-protection

答案 1 :(得分:5)

确认问题的另一种方法是在另一个浏览器中打开您的Jupyter会话,您可能会被重定向到如下屏幕:

enter image description here

如果您打开一个新控制台并输入

jupyter notebook list

您将看到当前的笔记本,并且该网址将包含令牌。在新选项卡中打开它并解决问题。

输出命令应如下所示:

Currently running servers:
http://localhost:8888/?token=cbad1a6ce77ae284725a5e43a7db48f2e9bf3b6458e577bb :: <path to notebook>

答案 2 :(得分:1)

我刚才有这个问题,但我注意到它在Edge中有效。删除Chrome中的所有浏览器缓存(包括Cookie)解决了这个问题。