我刚刚将Jupyter升级到版本4.3.1虽然我可以打开以前创建的ipynb文件,但我无法创建新的.
当我尝试创建一个新的笔记本文件时,我得到一个弹出窗口说:
创建笔记本失败
创建新笔记本时发生错误
Forbidden
在终端我注意到这个输出:
[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
Run Code Online (Sandbox Code Playgroud)
我使用Jupyter与Python 3.5.2和IPython 5.1.0
确认问题的另一种方法是在另一个浏览器中打开Jupyter会话,您可能会被重定向到如下屏幕:
如果您打开一个新的控制台并键入
jupyter notebook list
Run Code Online (Sandbox Code Playgroud)
您会看到当前的笔记本,该URL将包含一个令牌。在新标签页中打开该标签,问题已解决。
输出命令应如下所示:
Currently running servers:
http://localhost:8888/?token=cbad1a6ce77ae284725a5e43a7db48f2e9bf3b6458e577bb :: <path to notebook>
Run Code Online (Sandbox Code Playgroud)
我必须在浏览器中启用cookie(我故意禁用它).然后"禁止"错误消失了,现在一切正常.
普遍接受的防止XSRF的解决方案是为每个用户提供不可预测的值,并将该值作为附加参数包含在您网站上的每个表单提交中.
来自:http://tornado.readthedocs.io/en/latest/guide/security.html#cross-site-request-forgery-protection
Jupyter 会阻止非本地请求。要从外部地址访问 Jupyter,我们可以使用以下参数执行它:
jupyter notebook --NotebookApp.allow_origin=* --NotebookApp.allow_remote_access=1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17143 次 |
| 最近记录: |