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

使用Python发送POST请求下载网站CSV返回500错误该如何解决

问题原因与解决方案

500错误属于服务端内部错误,该场景下几乎都是因为你发送的请求格式、参数和浏览器正常导出时发送的请求不一致,导致服务端解析请求失败。你当前写的代码存在明显的传参错误,按以下步骤排查修改即可:

  • 修正请求传参的基础写法
    你写的requests.post('https://provepip.ipex.it/PipWa/Front/GetCsv', 'ExportData.csv')完全不符合requests的调用规则:requests.post的第二个位置参数对应的是请求体数据,你直接传入文件名字符串,和接口要求的请求体格式完全不符,自然会触发服务端报错。
    先回到浏览器的Network标签页,找到手动导出CSV时对应的POST请求,查看「请求负载/Payload」模块,把接口要求的所有请求参数完整抄下来,按接口要求的格式传递:
    • 如果接口要求表单格式传参,把参数组装为字典传给data参数:
      import requests
      # 键值对替换为你从浏览器抄的实际请求参数
      payload = {
          "param1": "value1",
          "param2": "value2"
      }
      resp = requests.post('https://provepip.ipex.it/PipWa/Front/GetCsv', data=payload)
      
    • 如果接口要求JSON格式传参,把参数组装为字典传给json参数:
      resp = requests.post('https://provepip.ipex.it/PipWa/Front/GetCsv', json=payload)
      
  • 补全请求头与身份凭证
    大部分需要登录的网站接口都会校验请求头和身份信息,你同样从浏览器的请求详情里复制「请求头/Request Headers」的必要字段,加到请求的headers参数里,常规需要补充的字段包括User-Agent、Referer、Content-Type、Cookie等:
    headers = {
        "User-Agent": "替换为你当前浏览器的UA值",
        "Cookie": "替换为你浏览器中当前站点的登录Cookie",
        "Content-Type": "替换为浏览器请求中对应的Content-Type值,比如application/json、application/x-www-form-urlencoded"
    }
    resp = requests.post('https://provepip.ipex.it/PipWa/Front/GetCsv', json=payload, headers=headers)
    
  • 导出CSV到本地
    先判断请求状态码为200后,再把响应内容写入本地文件,如果请求失败可以打印响应文本定位具体错误原因:
    if resp.status_code == 200:
        with open("ExportData.csv", "wb") as f:
            f.write(resp.content)
    else:
        print("请求失败,服务端返回错误信息:", resp.text)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:42:01