cookie_jar 3.0.0-beta1 copy "cookie_jar: ^3.0.0-beta1" to clipboard
cookie_jar: ^3.0.0-beta1 copied to clipboard

outdated

A cookie manager for http requests in Dart, by which you can deal with the complex cookie policy and persist cookies easily.

example/cookie_jar_example.dart

import 'dart:io';

import 'package:cookie_jar/cookie_jar.dart';

void main() async {
  final cookies = <Cookie>[
    Cookie('name', 'wendux'),
    Cookie('location', 'china'),
  ];
  final cookiesExpired = <Cookie>[
    Cookie('name', 'wendux')..maxAge = 1,
    Cookie('location', 'china')
      ..expires = DateTime.now().add(const Duration(hours: 1)),
  ];

  //final cj = CookieJar();
  //final cj = PersistCookieJar();
  final cj = PersistCookieJar(storage: FileStorage('./example/.cookies'));

  await cj.saveFromResponse(Uri.parse('https://www.baidu.com/xx'), cookies);
  var results = await cj.loadForRequest(Uri.parse('https://www.baidu.com/xx'));
  assert(results.length == 2);
  results = await cj.loadForRequest(Uri.parse('https://www.baidu.com/xx/dd'));
  assert(results.length == 2);
  results = await cj.loadForRequest(Uri.parse('https://www.baidu.com/'));
  assert(results.isEmpty);
  await cj.saveFromResponse(Uri.parse('https://google.com'), cookiesExpired);
  results = await cj.loadForRequest(Uri.parse('https://google.com'));
  assert(results.length == 2);
  await Future<void>.delayed(const Duration(seconds: 2), ()async {
    results = await cj.loadForRequest(Uri.parse('https://google.com'));
    assert(results.length == 1);
  });
}
71
likes
0
pub points
98%
popularity

Publisher

verified publisherflutterchina.club

A cookie manager for http requests in Dart, by which you can deal with the complex cookie policy and persist cookies easily.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

More

Packages that depend on cookie_jar