我已经在jupyter笔记本上运行了大约26个小时的脚本;我没有真正使用我的电脑做任何其他事情,但它需要运行这个程序,需要大约30个小时才能完成。大约21小时后,它停止保存,我的终端出现了这样的情况:

403 PUT /api/contents/[file.ipynb] (::1): '_xsrf' argument missing from POST

(文件的地方。Ipynb]是我的jupyter笔记本的位置。它还说:

'_xsrf' argument missing from post

在笔记本的右上角。程序仍在运行,我不想重新启动jupyter notebook,不得不再次运行程序,因为我有一个截止日期,还有什么我可以做的吗?

我使用谷歌chrome,但我没有LastPass扩展或任何'%'字符在我的代码,作为另一个帖子建议。

谢谢你的帮助!


当前回答

1解决这个问题的方法是:

下载你无法保存的笔记本:File -> Download as -> notebook (ipynb) 在jupyter浏览器界面上点击下载文件打开下载的笔记本

现在,您应该能够从jupyter UI保存(或重命名)这个笔记本

其他回答

打开开发人员设置,单击控制台并键入以下内容

JSON.parse (. getelementbyid (jupyter-config-data) .textContent) .token

那就试着保存笔记本吧。以前不存的笔记本现在可以存了。

我发现最简单的方法是:

https://github.com/nteract/hydrogen/issues/922#issuecomment-405456346

只要打开同一内核上的另一个(未运行的,现有的)笔记本,问题就神奇地消失了;您可以再次保存先前显示_xsrf错误的笔记本。

如果您已经关闭了Jupyter主页,您可以在Jupyter启动的终端上找到它的链接。

对我来说唯一有效的解决方法是:

我在chrome浏览器中打开了一个新标签 我粘贴:http://localhost:8888/?token=...... 然后我打开原来的笔记本,把它保存了下来

在我的情况下,我有一个关闭标签的主页。重新打开Jupyter后。错误自动消失,我们可以保存文件。

我相信有足够的解决方案来解决这个问题。 但是为了防止有人想知道为什么会出现这个错误:

当您试图向Jupyter笔记本服务器发出POST请求时,通常会遇到“XSRF参数missing from POST”错误,并且服务器无法验证请求是否合法。

当请求缺少所需的XSRF(跨站点请求伪造)令牌时,可能会发生此错误。这个令牌是一种安全措施,通过确保对服务器的请求是合法的,有助于防止恶意攻击。