api - http.dart HttpException:在收到完整的 header 之前,连接已关闭

标签 api http flutter dart

通过http.dart在flutter上调用post API时,出现以下错误:

HttpException:在接收到完整 header 之前,连接已关闭,uri = http://192.168.3.218:12225/resourcabc/subresourceXYZ

当邮递员给出正确答案时,为什么会这样呢。我也看到过有人问过这个问题。
另外,我在物理设备上调试:三星

这是代码

  Future<Map> post(
String path, {
String token,
dynamic body,
bool parseResponse: false,
isFormData: false,
isUseBaseURL: false,
isEncoded: false,
  }) async {
Uri uri;
uri =
    isUseBaseURL ? Uri.parse('${Paths.baseUrl}/$path') : Uri.parse('$path');

print(uri.toString());
print(body.toString());

var request =
    await client.postUrl(uri).timeout(const Duration(seconds: 30));

if (token != null) {
  request.headers.add(HttpHeaders.authorizationHeader, 'Bearer $token');
} else {
  print('token is null');
  request.headers.add("X-Consumer-Custom-ID", "96");
}

if (body != null) {
  if (isFormData) {
    request
      ..headers.contentType = new ContentType(
          'application', 'x-www-form-urlencoded',
          charset: 'utf-8')
      ..write(body);
  } else {
    request
      ..headers.contentType = ContentType.json
      ..write(isEncoded ? body : json.encode(body));
  }
}
print(json.encode(body));
print('Sending data');
var response = await request.close();
print(response.statusCode);
Map responseMap = await _extractJson(response);
_checkAndThrowError(response, responseMap);
return responseMap;

}

最佳答案

只需用htttp替换https就可以解决问题
.replaceAll('https','http')
来源:https://github.com/flutter/flutter/issues/25107

关于api - http.dart HttpException:在收到完整的 header 之前,连接已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58215730/

相关文章:

java - 有没有开源工具可以将 postman 集合转换为客户端 sdk?

rest - Web API url 的测试版本

rest - 对 HTTP header 使用百分比编码是否合适或有必要?

php - 我可以使用 ssl ://and https://in an URL interchangeably? 吗

android - 如何构建 flutter 键盘?

flutter - 如何限制 flutter Textfield 或 TextFormField 只接受英语?

android - 有没有办法从 flutter 代码访问wifi密码?

php - 尝试通过执行 PUT 请求的 API 上传模型时文件丢失 - 多部分/表单数据请求 - Laravel/PHP

ios - swift/alamofire/api token /缺少必需参数 : grant_type

javascript - AngularJS 表单未绑定(bind)到 $http 请求