Flutter无法访问HTTP响应中的Cookie

btu*_*tal 6 cookies http dart flutter

我正在开发 Flutter 一个应用程序,它将使用基于 Express 的 REST api。在实现基于 Cookie 的会话时,我想通过基本身份验证请求从应用程序检索 cookie,但不知何故我无法检索 cookie 作为响应。当我从 Postman 发出相同的请求时,没有问题,cookie 会自动设置。

我使用 HTTP 包来发出请求,代码非常简单,如下所示。

void login(String username, String password) async {
var url = 'http://$username:$password@111.222.333.444:3333/auth';
var response = await http.get(url);
print('Response header: ${response.headers}');
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');
}
Run Code Online (Sandbox Code Playgroud)

响应头或正文中没有 cookie。

hoa*_*uyy -1

您必须在标头中调用“set-cookie”:

var cookies = response.headers['set-cookie'];
Run Code Online (Sandbox Code Playgroud)

  • 不起作用。响应标头根本没有“set-cookie”的值,尽管可以在 Chrome 的网络日志中看到它。 (2认同)
  • @RohanTaneja 这看起来像是颤振中的一个错误。我确认在开发控制台的网络选项卡中,set-cookie 是可见的,但 flutter web 中的 dart 代码中的输出不包含它。诡异的。已经尝试了 3 个库:dio、http 和默认的 HttpClient。相同的结果。 (2认同)