So etwas sollte funktionieren:
match server_response.headers.get() {
Some(&SetCookie(ref content)) => println!("Cookie: {:?}", content),
_ => println!("No cookie found"),
}
Verwenden Sie den Cookie
Header für Cookies - den Server gesendet, und SetCookie
für Cookies gesendet von der Server. Ich betone das, weil ich zuerst Cookie
gesehen habe und es mich erwischt hat.
Beachten Sie auch, dass ich die SetCookie
Header nur nach Typ Inferenz von der Musterübereinstimmung anfordern. Ich hätte auch den Turbo-Fisch verwenden können: headers.get::<SetCookie>()
.
Wenn Sie das gleiche Cookie senden müssen zurück auf den Server, können Sie einfach klonen die SetCookie
Werte aus der Antwort zurück in einen neuen Cookie
Header für die Anfrage:
let mut headers = Headers::new();
// if you received cookies in the server response then send the same ones back
if let Some(&SetCookie(ref content)) = server_response.headers.get() {
headers.set(Cookie(content.clone()));
}
hyper_client.request(Method::Get, url)
.headers(headers)
.send();
Groß Ich kann es jetzt abrufen! Aber ich kann es nicht wiederverwenden ... Ich habe versucht, 'headers.set (content)' zu tun und ... es funktioniert nicht ... Ich denke, dass ich 'SetCookie' und' Cookie' verwechsle, einige Hilfe ? – SirC
Ich habe ein Beispiel hinzugefügt, um die gleichen Cookie-Werte zurück an den Server zu senden –