dio_http

Pub support

一个强大的 Dart Http 客户端,支持拦截器、全局配置、FormData、请求取消、文件下载、超时等。

此包已从 Dio 分叉。要了解原因,请 点击此处

开始使用

添加依赖

dependencies:
  dio_http: ^5.0.4

已经了解 Dio 3,并想了解 Dio 4 有哪些新功能?请查看 迁移指南

超级简单易用

import 'package:dio_http/dio_http.dart';
void getHttp() async {
  try {
    var response = await Dio().get('http://www.google.com');
    print(response);
  } catch (e) {
    print(e);
  }
}

awesome-dio

?
与 dio 相关的一些精选的优秀资源。

插件 (支持 4.0)

插件 状态 描述
dio_cookie_manager Pub Dio 的 Cookie 管理器
dio_http2_adapter Pub 一个支持 Http/2.0 的 Dio HttpClientAdapter

目录

示例

执行 GET 请求

Response response;
var dio = Dio();
response = await dio.get('/test?id=12&name=wendu');
print(response.data.toString());
// Optionally the request above could also be done as
response = await dio.get('/test', queryParameters: {'id': 12, 'name': 'wendu'});
print(response.data.toString());

执行 POST 请求

response = await dio.post('/test', data: {'id': 12, 'name': 'wendu'});

执行多个并发请求

response = await Future.wait([dio.post('/info'), dio.get('/token')]);

下载文件

response = await dio.download('https://www.google.com/', './xx.html');

获取响应流

<div class="highlight highlight-source-dart position-relative" data-snippet-clipboard-copy-content="Response rs;
rs = await Dio().get(url,
options: Options(responseType: ResponseType.stream), // 设置 responseType 为 `stream`
);
print(rs.data.stream); // 响应流
“>

Response<ResponseBody> rs;
rs = await Dio().get<ResponseBody>(url,
  options: Options(responseType: ResponseType.stream),  // set responseType to `stream`
);
print(rs.data.stream); //response stream