Comment puis-je obtenir les cookies de HttpClientHandler.CookieContainer
Voici le code:
public static async Task<string> DownloadPageWithCookiesAsync(string url)
{
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
handler.AllowAutoRedirect = true;
handler.UseCookies = true;
handler.CookieContainer = new CookieContainer();
HttpClient client = new HttpClient(handler);
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = response.Content.ReadAsString();
return responseBody;
}
après la client.GetAsync(url);
s'exécute, le handler.CookieContainer
contient 7 les témoins. Comment puis-je y accéder?
OriginalL'auteur Alireza Noori | 2011-11-29
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur Muhammad Hussain
Utiliser le CookieContainer de GetCookies méthode, en précisant l'URI que vous voulez des cookies pour. Elle renvoie une CookieCollection vous pouvez énumérer.
foreach statement cannot operate on variables of type 'System.Net.CookieContainer' because 'System.Net.CookieContainer' does not contain a public definition for 'GetEnumerator'
L'utilisation de la boucle au lieu de les obtenir?
Merci mais en Boucle sur quoi? Il n'y a pas d'indice défini par l'opérateur.
Vous avez mal compris - ne pas foreach sur le CookieContainer. Plutôt, foreach sur le résultat de la .GetCookies (). Qui renvoie un CookieCollection, qui a un itérateur.
OriginalL'auteur Peter Oehlert
Essayer:
Vous pouvez également effectuer une itération de la CookieCollection avec une boucle foreach, je crois.
ça y est !!!!!
OriginalL'auteur p.wilt
OriginalL'auteur n0rd