Existe-t-il un moyen de gérer automatiquement les cookies dans .NET avec les objets HttpWebRequest/HttpWebResponse? Je recherche de préférence un équivalent à LWP :: UserAgent et son comportement (Perl), uniquement dans un environnement .NET.
Des suggestions ou des conseils?
Je pense que ce que vous recherchez est la classe CookieContainer . Si je comprends bien ce que vous essayez de faire correctement, vous avez des objets séparés pour la demande et la réponse, et vous souhaitez transférer la collection de cookies de réponse dans le suivant demande collecte automatique des cookies. Essayez d'utiliser ce code:
CookieContainer cookieJar = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.google.com");
request.CookieContainer = cookieJar;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
int cookieCount = cookieJar.Count;
Une fois que vous avez créé un cookieJar
et que vous l'avez défini sur CookieContainer de la demande, il stockera tous les cookies provenant de la réponse. Dans l'exemple ci-dessus, le nombre de pots de cookies sera donc 1
une fois qu'il visite Google.com. Les propriétés du conteneur de cookies de la demande et de la réponse ci-dessus stockent un pointeur vers le cookieJar, de sorte que les cookies sont automatiquement gérés et partagés entre les objets.