dio:HttpException:标头集cookie的多个值
我目前正在尝试使用Dio从GET或POST请求中检索多个集合Cookie字段。我无法使用HttpClient或Flatter的http实现这一点 使用Dio会引发异常: HttpException:标头集cookie有多个值 我想知道如何绕过这个问题,处理多个dio:HttpException:标头集cookie的多个值,http,cookies,dart,flutter,Http,Cookies,Dart,Flutter,我目前正在尝试使用Dio从GET或POST请求中检索多个集合Cookie字段。我无法使用HttpClient或Flatter的http实现这一点 使用Dio会引发异常: HttpException:标头集cookie有多个值 我想知道如何绕过这个问题,处理多个set cookie头,然后将它们发送回cookie头 如何处理多个设置Cookie头,并使用Dart/FLIFT将它们作为Cookie头发送回去 这是MCVE Dio dio = new Dio(); dio.get(urlLogin)
set cookie
头,然后将它们发送回cookie
头
如何处理多个设置Cookie
头,并使用Dart/FLIFT将它们作为Cookie头发送回去
这是MCVE
Dio dio = new Dio();
dio.get(urlLogin).then((Response resp){
print('-----Login-----');
print(resp.headers.value('set-cookie'));
});
还有StackTrace
HttpException: More than one value for header set-cookie
#0 _HttpHeaders.value (dart:_http/http_headers.dart:48:7)
#1 loginDio.<anonymous closure> (file:///home/fuguet/Prog/Dart/FPlogin/main.dart:55:24)
#2 _RootZone.runUnary (dart:async/zone.dart:1379:54)
#3 _FutureListener.handleValue (dart:async/future_impl.dart:129:18)
#4 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:642:45)
#5 Future._propagateToListeners (dart:async/future_impl.dart:671:32)
#6 Future._complete (dart:async/future_impl.dart:476:7)
#7 _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#8 _RootZone.runUnary (dart:async/zone.dart:1379:54)
#9 _FutureListener.handleValue (dart:async/future_impl.dart:129:18)
#10 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:642:45)
#11 Future._propagateToListeners (dart:async/future_impl.dart:671:32)
#12 Future._complete (dart:async/future_impl.dart:476:7)
#13 _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#14 _RootZone.runUnary (dart:async/zone.dart:1379:54)
#15 _FutureListener.handleValue (dart:async/future_impl.dart:129:18)
#16 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:642:45)
#17 Future._propagateToListeners (dart:async/future_impl.dart:671:32)
#18 Future._completeWithValue (dart:async/future_impl.dart:486:5)
#19 Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:516:7)
#20 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#21 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#22 _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:391:30)
#23 _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
#24 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
HttpException:标头集cookie有多个值
#0\u HttpHeaders.value(dart:\u http/http\u headers.dart:48:7)
#1罗金迪奥。(file:///home/fuguet/Prog/Dart/FPlogin/main.dart:55:24)
#2_RootZone.runUnary(dart:async/zone.dart:1379:54)
#3\u FutureListener.handleValue(dart:async/future\u impl.dart:129:18)
#4 Future.\u PropagateTListeners.handleValueCallback(dart:async/Future\u impl.dart:642:45)
#5未来传播到侦听器(dart:async/Future\u impl.dart:671:32)
#6未来完成(dart:async/Future\u impl.dart:476:7)
#7\u SyncCompleter.complete(dart:async/future\u impl.dart:51:12)
#8_RootZone.runUnary(dart:async/zone.dart:1379:54)
#9\u FutureListener.handleValue(dart:async/future\u impl.dart:129:18)
#10 Future.\u PropagateTListeners.handleValueCallback(dart:async/Future\u impl.dart:642:45)
#11未来传播到侦听器(dart:async/Future\u impl.dart:671:32)
#12未来完成(dart:async/Future\u impl.dart:476:7)
#13\u SyncCompleter.complete(dart:async/future\u impl.dart:51:12)
#14_RootZone.runUnary(dart:async/zone.dart:1379:54)
#15\u FutureListener.handleValue(dart:async/future\u impl.dart:129:18)
#16 Future.\u PropagateTListeners.handleValueCallback(dart:async/Future\u impl.dart:642:45)
#17未来传播到侦听器(dart:async/Future\u impl.dart:671:32)
#18 Future.\u completeWithValue(dart:async/Future\u impl.dart:486:5)
#19.未来。完成。(dart:async/future\u impl.dart:516:7)
#20 microtaskLoop(dart:async/schedule_microtask.dart:41:21)
#21 _startMicrotaskLoop(dart:async/schedule_microtask.dart:50:5)
#22计时器。运行计时器(dart:isolate/runtime/libtimer\u impl.dart:391:30)
#23 _Timer._handleMessage(dart:isolate/runtime/libtimer_impl.dart:416:5)
#24 RawReceivePortImpl.handleMessage(dart:isolate/runtime/libisolate_patch.dart:165:12)
由于可能有多个标题具有相同的名称,因此不能使用value()
。而是使用[]
检索列表
List rawCookies=resp.headers['set-cookie'];
由于可能有多个标题具有相同的名称,因此不能使用value()
。而是使用[]
检索列表
List rawCookies=resp.headers['set-cookie'];
非常感谢你,我不知道这是可能的。非常感谢你,我不知道这是可能的
List<String> rawCookies = resp.headers['set-cookie'];