Как добавить несколько заголовков в запрос Flutter GET Api? - PullRequest
0 голосов
/ 22 февраля 2019

как мне добавить set-cookie в заголовки API Flutter.Я использовал следующий плагин дартс:

Плагин дартс

Я перехожу по этим ссылкам, но не могу добавить заголовки.

Поваренная книга флаттера

Stackoverflow Вопрос

Ниже мой код:

Future<Map> getApi() async {

    Map<String, String> headers = {};

    // HEADERS TO BE ADDED
    headers['Set-Cookie'] = "user_image=; Path=/";
    headers['Set-Cookie'] = "user_id=Administrator; Path=/";
    headers['Set-Cookie'] = "system_user=yes; Path=/";
    headers['Set-Cookie'] = "full_name=Administrator; Path=/";
    headers['Set-Cookie'] = "sid=123456789; Expires=Mon, 25-Feb-2019 11:01:39 GMT; Path=/";

    // API RESPONSE
    http.Response response = await http.get(
      apiUrl,
      headers: headers,
    );

    // CONVERT TO JSON AND MAP
    Map responseBody = convert.jsonDecode(response.body);

    return responseBody;
  }

Ответы [ 3 ]

0 голосов
/ 22 февраля 2019

Это должно сработать;

HttpClient client = HttpClient();
    final request = await client.send(http.Request("GET", Uri.parse("http://www.example.com/"))
            ..headers['Set-Cookie'] = "user_image=; Path=/"
            ..headers['Set-Cookie'] = "user_id=Administrator; Path=/"
            ..headers['Set-Cookie'] = "system_user=yes; Path=/"
            ..headers['Set-Cookie'] = "full_name=Administrator; Path=/"
            ..headers['Set-Cookie'] = "sid=123456789; Expires=Mon, 25-Feb-2019 11:01:39 GMT; Path=/"
0 голосов
/ 25 февраля 2019

С помощью решения, указанного по этой ссылке , я смог решить свою проблему.Ниже приведен HTTP-запрос на добавление заголовков:

http.Response response = await http.get(
   apiUrl,
   headers: {'Cookie': 'sid=123456789'},
);

Спасибо за помощь, ребята.

0 голосов
/ 22 февраля 2019

Это должно делать то, что вы хотите

  HttpClient client = HttpClient();
  final request = await client.getUrl(Uri.parse("http://www.example.com/"));
  request.cookies
    ..add((Cookie('user_image', '')..path = '/'))
    ..add((Cookie('user_id', 'Administrator')..path = '/'))
    ..add((Cookie('system_user', 'yes')..path = '/'))
    ..add((Cookie('full_name', 'Administrator')..path = '/'))
    ..add((Cookie('sid', '123456789')..path = '/')
      ..expires = DateTime.utc(2019, 2, 25, 11, 01, 39));
  //request.write(...)
  final response = await request.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...