我正在试着写一个函数,保存一个网页(与其图像)为一个html页面。我正在使用HttpWebRequest请求网页的内容。我的函数看起来像这样
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
}
}
我这里的问题是,我想在同一个会话中进行所有的网页请求,而不想为每个imgRequest创建一个新的会话,因为我网页上的许多图像都是动态生成的,并且是临时存储的。因此,只有当我在同一会话中发出请求时,才能获取这些图像。
https://stackoverflow.com/questions/787857
复制相似问题