代码之家  ›  专栏  ›  技术社区  ›  GanzYe

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

  •  0
  • GanzYe  · 技术社区  · 2 年前

    当我查询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那里获取了代码: enter image description here

    1 回复  |  直到 2 年前
        1
  •  0
  •   Aiman Khan    2 年前

    就我而言,我没有添加额外的标题 User-Agent 。某些服务器要求在请求中设置该标头。你可以尝试添加 用户代理 头,并将其设置为有效值。

        2
  •  0
  •   GanzYe    2 年前

    我发现了问题所在。错误在于Postman正在添加 接受 ,但我没有添加它,我不知道它意味着什么。