You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Amazon SageMaker Studio中Jupyter Notebook的CSRF令牌?

解决Amazon SageMaker Studio请求403错误的方案

问题原因

SageMaker Studio的Jupyter Lab接口依赖CSRF令牌和会话Cookie做身份验证,直接调用requests.get未携带这些验证信息,因此返回403权限错误。

完整解决步骤

1. 提取当前会话的Cookie与CSRF令牌

在test.ipynb中运行以下代码,获取当前会话的验证凭证:

from notebook.notebookapp import list_running_servers
import requests

# 获取当前运行的Jupyter服务器实例信息
server_info = next(list_running_servers())
# 调用Jupyter API获取CSRF令牌
csrf_api_url = f"{server_info['url']}api/settings"
# 自动携带当前会话Cookie发起请求
resp = requests.get(csrf_api_url, cookies=server_info['cookies'])
csrf_token = resp.json()['csrf_token']

2. 携带验证信息发起目标请求

修改原请求代码,同时传入Cookie和CSRF请求头:

target_url = "https://<id>.studio.<region>.sagemaker.aws/jupyter/default/lab/tree/test.ipynb"
# 设置CSRF请求头
request_headers = {'X-XSRFToken': csrf_token}
# 携带Cookie和头信息发起请求
response = requests.get(target_url, cookies=server_info['cookies'], headers=request_headers)

额外提示

  • 必须在同一个SageMaker Studio会话内执行代码,Cookie和CSRF令牌与当前会话绑定,跨会话会失效。
  • 如果只是要读取test.ipynb的内容,直接用本地文件操作更高效:with open('test.ipynb', 'r') as f: content = f.read()。

内容的提问来源于stack exchange,提问作者Meghana S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 06:22:38