【问题标题】:Flutter/Dart Http post request access header infoFlutter/Dart Http post请求访问头信息
【发布时间】:2019-11-14 06:07:22
【问题描述】:

我正在发送我的登录表单的发布请求;使用 dart 的 HTTP 库。

在它的回复中,我不知道如何访问标题内容;因为那是令牌所在的位置,我需要在整个会话期间进行进一步操作。

服务器以 JSON 格式发送内容。 (我是新手,请原谅我的无知)

我的主要目的是从我从 POST 请求得到的响应中读取标头内容。

下面是代码sn-p。

var jsonresponse = Map();
  Future login() async{
  try{
      response = await http.post(
        baseLog,    
        body: {
          "username": username.text,
          "password": password.text
        },            
      );    
      //json decode
      this.jsonresponse = json.decode(this.response);    
      var token = this.response.headers.get('token');  //an attempt to access the header
      //print('token  ' + token);          
    }
    catch(ex){
      print('Error occured' + ex);
    }
  }

【问题讨论】:

    标签: http post flutter dart


    【解决方案1】:

    从响应中读取标头非常容易。

    var response = await http.post(
        baseLog,
    
        body: {
          "username": username.text,
          "password": password.text
        },
      );
    var date = response.headers['date'];
    

    这应该可以让您从回复中找到日期。

    【讨论】:

    • 你能提供响应头吗?使用邮递员之类的东西甚至有令牌标头吗?你试过这样约会吗?
    • 没问题。我还建议您使用 Client 而不是直接调用 http 请求。除非你真的需要 http
    【解决方案2】:

    要发送带有 headers 和 body 的 post 请求,您可以按照如下方式进行,

    var response = await http.post(
            url,
            body: {
              "name": "Test",
              "password": "123456",
            },
    
            // you can pass headers using HttpHeaders different properties like
            headers: {
              // HttpHeaders has many properties like AUTHORIZATION, contentTypeHeader, acceptHeader etc. you can use them accordingly.
              HttpHeaders.AUTHORIZATION: "Bearer your_token",
              HttpHeaders.contentTypeHeader:"application/json"
            },
    
    OR     
            //Also, you can pass headers like a json object,
            headers: {
              "authorisation:"Bearer your_token"
              "content-type":"application/json"
            }
          );
    

    这是向服务器发送 post 请求的一般方法。

    【讨论】:

    • 不,这不是强制性的。这只是一个示例目的。这取决于您为使用而开发的 API。
    猜你喜欢
    • 2022-10-18
    • 2020-06-13
    • 2021-01-26
    • 2020-11-21
    • 2020-01-09
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多