WebRequest multiple dans la même session
Je suis en train d'écrire une fonction qui enregistre une page web (avec images) comme une page html.
Je suis l'aide de HttpWebRequest à la demande pour le contenu des pages web.
Ma fonction ressemble à quelque chose comme
void SaveUrl(string sourceURL, string savepath)
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(sourceURL);
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
StreamReader responseReader = new StreamReader(response.GetResponseStream());
string sResponseHTML = responseReader.ReadToEnd();
using (StreamWriter sw = new StreamWriter(savepath, false))
{
sw.Write(sResponseHTML);
}
string[] ImageUrl = GetImgLinks(sResponseHTML);
foreach (string imagelink in ImageUrl)
{
HttpWebRequest imgRequest = (HttpWebRequest)WebRequest.Create(imagelink);
HttpWebResponse imgresponse = (HttpWebResponse)imgRequest.GetResponse();
//Code to save image
}
}
Mon problème, c'est que je veux faire tous les webrequest dans la même session et vous ne voulez pas créer une nouvelle session avec chaque imgRequest, comme beaucoup d'images sur ma page web sont générés de manière dynamique et sont stockés temporairement. si ces images ne peuvent être récupérés si je fais une demande dans la même session.
source d'informationauteur Ankit
Vous devez vous connecter pour publier un commentaire.
Sessions fonctionnent généralement par l'utilisation de cookies. Si vous voulez que toutes vos demandes pour faire partie de la même session, vous devez conserver les cookies entre les demandes. Pour ce faire, créez un CookieContainer et de fournir à chacun des HttpWebRequest objets.
Voici votre code mis à jour pour utiliser un CookieContainer: