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

Flutter发送HTTP Post请求时触发ClientException(Invalid response line)错误

Flutter调用Python API出现ClientException (Invalid response line)问题排查

我在Flutter应用中向Python搭建的API发送POST请求时,持续收到错误:Exception has occurred. ClientException (Invalid response line)。

相关代码

Future<http.Response> testPost(workout_type, bodypart, workout_freq, 
 weights_pref, email) async {

  final uri = Uri.parse('http://10.0.2.2:5554/api/save-workkout');
  final headers = {
    'Content-Type': 'application/json'
    };
  Map<String, dynamic> body = {
     "workout_type": workout_type,
     "bodypart": bodypart,
     "workout_freq": workout_freq,
     };
  String jsonBody = json.encode(body);
  print(body);
  final resp = await http.post(
    uri,
    headers: headers,
    body: jsonBody
  );
  print(resp.body);
  return resp;
}

待发送的数据

var workout_type = 1;
var bodypart = [1, 20];
var workout_freq = 2;

排查方向与解决方案

  • 检查API路径拼写:代码中URI的save-workkout存在拼写错误,多了一个字母k,应改为save-workout。路径错误会导致API端无法匹配路由,返回非标准HTTP响应,触发该异常。
  • 验证Python API的响应格式:确保Python API在处理请求后返回符合HTTP规范的响应,包含正确的状态码、响应头和合法的响应体。如果API内部报错(比如未捕获的异常),可能返回不符合协议的内容,导致Flutter端解析失败。
  • 测试API可用性:用Postman或curl直接调用API,验证是否能得到正常响应。示例curl命令:
    curl -X POST http://10.0.2.2:5554/api/save-workout -H "Content-Type: application/json" -d '{"workout_type":1,"bodypart":[1,20],"workout_freq":2}'
    
    如果直接调用也异常,说明问题出在Python API端,需排查路由配置、请求处理逻辑。
  • 确认数据序列化兼容性:确保Python端能正确解析Flutter发送的JSON数据,尤其是bodypart数组类型,检查Python代码中是否有针对数组参数的正确处理逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:09:21