http - 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/"
但不知道另一个哪里出了问题..
解决方案
该requests
软件包对我来说是一个解决方案,请务必将其shared_preferences
作为依赖项包含在您的 pubspec.yaml 文件中。
推荐阅读
- erlang - 查询使用元组键的 erlang ETS 表
- java - 如何从数组中删除图像
- vba - 使用 Word Vba 一次插入封闭书签
- javascript - Python 请求 POST 和 axios POST 的区别
- java - 带有 switch 语句的主菜单
- javascript - 在调整大小或平移之前,传单地图无法正确更新背景图块
- javascript - 开玩笑地测试嵌套函数而不返回
- sql - 查找同时注册 A 类和 B 类的所有学生的姓名
- javascript - VueJS,Vuetify,数据表 - 可扩展,性能问题
- r - 将不互斥的多个虚拟变量转换为单个分类变量,添加新行