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

将C# SharePoint POST请求代码转换为Python的技术咨询

SharePoint请求摘要获取的Python实现及Cookie使用说明

转换后的Python代码

import requests
from urllib.parse import urljoin

# 替换为实际的SharePoint站点地址和认证Cookie
sharepoint_site_url = "https://your-sharepoint-site-url"
# 这里对应C#中cred.GetAuthenticationCookie(siteUri)的返回值,需自行实现或传入已获取的认证Cookie字符串
auth_cookie_str = "your-authentication-cookie-string"

# 拼接API请求地址
api_base_url = urljoin(sharepoint_site_url, "_api")
digest_request_url = urljoin(api_base_url, "contextinfo")

# 设置请求头
request_headers = {
    "Accept": "application/json"
}

# 解析Cookie字符串为字典格式
cookies = {}
for cookie_segment in auth_cookie_str.split(';'):
    if '=' in cookie_segment:
        key, value = cookie_segment.strip().split('=', 1)
        cookies[key] = value

# 发送POST请求并处理响应
response = requests.post(digest_request_url, headers=request_headers, cookies=cookies)
response.raise_for_status()  # 若请求失败直接抛出异常
digest_data = response.json()

Python中Cookie的使用及请求执行说明

Cookie处理方式

  • 手动构造Cookie字典:将认证返回的Cookie字符串拆分为键值对,传入请求的cookies参数,适合单次请求的Cookie传递。
  • Session自动管理Cookie:如果需要在多轮请求中保持会话(比如后续操作SharePoint其他接口),可以用requests.Session(),它会自动保存和复用响应中的Cookie:
    session = requests.Session()
    session.cookies.update(cookies)
    # 后续请求直接用session发送,无需重复传Cookie
    response = session.post(digest_request_url, headers=request_headers)
    
  • CookieJar对象:用于复杂Cookie场景(比如需指定域名、路径等属性),可以通过http.cookiejar.CookieJar创建,requests会自动兼容该类型的Cookie参数。

请求执行要点

  • POST请求构造:使用requests.post()方法,传入目标URL,按需添加headers、cookies、data或json参数(本次请求无需请求体,仅需头信息和Cookie)。
  • 响应处理:
    • response.json():将JSON格式的响应体转换为Python字典,对应C#中的dynamic类型。
    • response.raise_for_status():检查请求状态码,若状态码不在200-299范围内,直接抛出异常,便于快速定位请求问题。
    • 通过response.cookies可获取响应返回的Cookie,用于后续请求的会话维持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 11:25:17