0

我正在测试使用我的 Dart 代码中的dio从 URL 获取数据的请求。

import 'package:dio/dio.dart';

class Api {
  Dio dio = Dio();
  var path = 'https://jsonplaceholder.typicode.com/users';

  void getHttp() async {
    try {
      Response response = await dio.get(path);
      print(response.data);
    } catch (e) {
      print(e);
    }
  }
}

在这种情况下,它会正确地得出结果。

但是,我实际上需要从这个 URL 获取数据:

http://loterias.caixa.gov.br/wps/portal/loterias/landing/megasena/!ut/p/a1/04_Sj9CPykssy0xPLMnMz0vMAfGjzOLNDH0MPAzcDbwMPI0sDBxNXAOMwrzCjA0sjIEKIoEKnN0dPUzMfQwMDEwsjAw8XZw8XMwtfQ0MPM2I02-AAzgaENIfrh-FqsQ9wNnUwNHfxcnSwBgIDUyhCvA5EawAjxsKckMjDDI9FQE-F4ca/dl5/d5/L2dBISEvZ0FBIS9nQSEh/pw/Z7_HGK818G0KO6H80AU71KG7J0072/res/id=buscaResultado/c=cacheLevelPage/=/?timestampAjax=1588600763910

使用Postman我可以访问数据:

在此处输入图像描述

所以,问题是,如果我尝试在我的代码中从该 URL 获取数据,我会收到以下异常错误:

I/flutter (23393): DioError [DioErrorType.DEFAULT]: RedirectException: Redirect loop detected

如果此 URL 正在重定向,为什么在使用 Postman 时它可以工作?无论如何,我如何处理这个重定向的请求以访问数据?

4

1 回答 1

0

过了一会儿,我注意到对这个请求的响应是 HTML 而不是 Json。所以我需要创建一种方法来获取来自请求的 DOM,删除 HTML 标记并将字符串编码为 Json。

于 2020-05-22T18:16:56.637 回答