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

Python爬虫Post请求未返回预期数据 求助排查

问题排查与解决方案

可能的问题点及修复建议

1. URL缺少协议头

你的URL example.com/api/something 未指定http://或https://,requests无法正确识别请求地址,会导致请求异常。
修复:

url = "https://example.com/api/something"

2. 硬编码Content-Length不匹配

手动设置的Content-Length: '11'和实际请求体长度不一致,服务器解析时会出现异常,返回空数据。
修复:直接删除Content-Length头部,requests会自动计算并设置正确的长度。

3. Payload参数值为空

你构造的请求体是{SomeRandomID: ''},值为空字符串,服务器可能需要该参数携带有效ID才会返回数据。
修复:从浏览器开发者工具中复制该参数的真实有效值,替换空字符串:

payload_key = "SomeRandomID"
payload_value = "真实目标ID"  # 替换为浏览器请求中看到的有效参数

4. 错误使用data参数传递JSON

手动调用json.dumps后用data传递,不如直接用requests的json参数,它会自动处理序列化和头部适配,更稳妥。
修复:

r = requests.post(url, headers=headers, json={payload_key: payload_value})

5. Cookie中的JSESSIONID无效

你用的JSESSIONID=RANDOMID是占位符,服务器无法识别该会话,会返回空数据。
修复:从浏览器开发者工具的请求头中复制真实有效的JSESSIONID替换。

6. 请求头参数格式错误

Sec-Ch-Ua-Platform: "" 格式不正确,应该是类似"Windows"的有效值,或者直接删除该头部(浏览器会自动生成,手动设置错误可能被服务器拒绝)。
修复:

headers = { 
    # 保留其他头部
    'Sec-Ch-Ua-Platform': '"Windows"',
    # 保留其他头部
}

修复后的完整代码示例

import requests

url = "https://example.com/api/something"

headers = { 
    'Host': 'example.com',
    'Cookie': 'JSESSIONID=真实有效的会话ID',
    'Accept-Language': 'en',
    'Sec-Ch-Ua-Mobile':'?0',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.110 Safari/537.36',
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Sec-Ch-Ua-Platform': '"Windows"',
    'Origin': 'https://example.com',
    'Sec-Fetch-Site': 'same-origin',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Dest': 'empty',
    'Referer': 'https://example.com/home',
    'Accept-Encoding': 'gzip, deflate',
    'Connection': 'close'
}

payload_key = "SomeRandomID"
payload_value = "真实的目标ID"
response = requests.post(url, headers=headers, json={payload_key: payload_value})

print(response.json())  # 用json()方法直接解析响应,更易读

额外排查建议

  • 用浏览器F12打开Network标签,对比你的请求和浏览器正常请求的所有参数(Headers、Payload),确保完全一致。
  • 打印响应状态码print(response.status_code),若不是200,说明存在授权、参数错误等问题。
  • 若会话过期,重新从浏览器复制最新的JSESSIONID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 21:00:37