首页 > 解决方案 > Dart 中请求之间的持久化参数

问题描述

我正在尝试从 API 获取数据,但事先我需要使用另一个请求登录。

这是一个简单的例子:

s.get('https://httpbin.org/cookies/set/sessioncookie/123456789')
final response = s.get('https://httpbin.org/cookies')

我在 python 中尝试过requests.Session(),效果很好,但我似乎没有在 dart 中找到任何可以做到这一点的东西。

所以我需要的是可以在请求之间存储参数的东西。

编辑1:

刚刚尝试过dio_cookie_manager

Dio dio =  Dio();
CookieJar cookieJar = CookieJar();

dio.interceptors.add(CookieManager(cookieJar));
cookieJar.loadForRequest(Uri.parse("https://httpbin.org/cookies/set/sessioncookie/123456789"));
var response = await dio.get("https://httpbin.org/cookies");
print(response.body); // -> {cookies: {}}

所以这也行不通。

编辑 2:

似乎可以使用,"https://baidu.com/"但不知道另一个哪里出了问题..

标签: httpdartrequest

解决方案


requests软件包对我来说是一个解决方案,请务必将其shared_preferences作为依赖项包含在您的 pubspec.yaml 文件中。


推荐阅读