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

使用Python requests库向Shopify REST端点发送POST请求异常:实际为GET请求

解决requests发送POST到Shopify REST端点变成GET的问题

以下是排查和解决的具体步骤:

  • 检查代码基础正确性
    确认你调用的是requests.post()而非requests.get(),同时检查参数传递是否有误——比如不要把请求体数据传到params参数中(这会将数据转为URL查询参数,导致请求行为异常)。

  • 排查重定向触发的问题
    requests默认在遇到301/302重定向时,会自动将POST请求转为GET请求。你可以通过禁用重定向来验证这一点:

    import requests
    
    shopify_url = "你的Shopify API端点"
    headers = {
        "X-Shopify-Access-Token": "你的访问令牌",
        "Content-Type": "application/json"
    }
    payload = {"你的请求体数据"}
    
    # 禁用自动重定向
    response = requests.post(shopify_url, json=payload, headers=headers, allow_redirects=False)
    print(f"状态码: {response.status_code}")
    print(f"重定向目标: {response.headers.get('Location')}")
    

    如果返回301/302状态码,说明是URL触发了重定向。此时直接使用Location头中的目标URL发送POST请求即可解决问题(通常差异在于URL末尾是否带有斜杠)。

  • 对比urllib3的请求细节
    将你用urllib3发送的请求和requests的请求做逐项对比:

    • 确认两者的URL完全一致(包括斜杠、查询参数等)
    • 检查请求头是否相同,比如Content-Type、授权令牌字段等
    • 验证请求体的格式和内容是否完全匹配
  • 升级requests版本
    旧版本的requests可能存在重定向处理的bug,执行以下命令升级到最新稳定版本:

    pip install --upgrade requests
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 16:06:02