dart 当我查询Postman时,我得到一个状态为200的响应,但在Flutter中我得到404,为什么?

tv6aics1  于 2023-07-31  发布在  Postman
关注(0)|答案(2)|浏览(111)

当我查询Postman时,我得到一个状态为200并且正文正确的响应,但是在我的代码中,我得到一个404响应。服务器不是我的,它是我国一家知名银行,所以服务器应该能正常工作。我不明白为什么我的代码是404。我确信我在Postman和Flutter代码中写的是相同的数据。
我试过使用HTTP包,但同样的错误。
我的Flutter代码:

Future<void> getOrders() async {
  var dio = Dio();

  var url =
      'https://kaspi.kz/shop/api/v2/orders?filter[orders][code]=274556253';

  try {
    var response = await dio.get(
      url,
      options: Options(
        headers: {
          'Content-Type': 'application/vnd.api+json',
          'X-Auth-Token': '<my token (i have correct token!)>',
        },
      ),
    );

    if (response.statusCode == 200) {
      print('Response data: ${response.data}');
    } else {
      print('Request failed with status: ${response.statusCode}.');
    }
  } catch (e) {
    print('Error: $e');
  }
}

字符串

为了让所有的标题和参数都正确,我从Postman那里获取了代码:

kx1ctssn

kx1ctssn1#

在我的例子中,我没有添加额外的header User-Agent。某些服务器要求在请求中设置该标头。您可以尝试在请求中添加一个User-Agent标头并将其设置为有效值。

ndh0cuux

ndh0cuux2#

我发现了问题所在。错误是Postman添加了**'Accept':“/”,但我没有添加它,我不知道它是什么意思。

相关问题