我正在开发Flutter应用程序,该应用程序将使用基于Express的REST API。在实现基于Cookie的会话时,我想通过基本的auth请求从应用程序中检索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}');
}
响应的头部或主体中没有cookie。
4条答案
按热度按时间2ledvvac1#
如果你想从flutter中的HTTP响应中获取cookie值
dy1byipe2#
Cookie总是带有响应头。如果Cookie是由后端设置的。
如果你想检查cookie是否有响应,那么就像这样打印。
如果您希望cookie单独作为cookie类型。您可以使用此sweet_cookie_jar包。
这样就能搞定琦琦
PS:我也有同样的疑问,为什么没有getter可用于cookie,如果我找到答案,我会更新这个答案。
kmbjn2e33#
你必须在header中调用'set-cookie':
7vux5j2d4#
http package get和post操作正在发送没有cookie的请求,因此您应该像这样手动放置cookie:
但是有一个简单的方法可以做到这一点,而无需通过requests package手动放置cookie。