16
我想寫一個函數,它將網頁(及其圖像)保存爲html頁面。 我使用HttpWebRequest來請求網頁內容。 我的功能看起來像在同一會話中的多個WebRequest
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
}
}
我在這裏的問題是,我想在同一個會話中的所有的WebRequest和不希望創建與每個imgRequest一個新的會話,因爲許多在我的網頁圖像的動態生成並暫時存儲。所以如果我在同一個會話中發出請求,這些圖像只能被提取。