我想保存在本地驱动器上完整的网页ASP .htm
从URL或链接,但我没有成功。
码
public StreamReader Fn_DownloadWebPageComplete(string link_Pagesource) { //--------- Download Complete ------------------ // using (WebClient client = new WebClient()) // WebClient class inherits IDisposable // { //client //HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(link_Pagesource); //webRequest.AllowAutoRedirect = true; //var client1 = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(link_Pagesource); //client1.CookieContainer = new System.Net.CookieContainer(); // client.DownloadFile(link_Pagesource, @"D:\S1.htm"); // } //--------- Download Page Source ------------------ HttpWebRequest URL_pageSource = (HttpWebRequest)WebRequest.Create("https://www.digikala.com"); URL_pageSource.Timeout = 360000; //URL_pageSource.Timeout = 1000000; URL_pageSource.ReadWriteTimeout = 360000; // URL_pageSource.ReadWriteTimeout = 1000000; URL_pageSource.AllowAutoRedirect = true; URL_pageSource.MaximumAutomaticRedirections = 300; using (WebResponse MyResponse_PageSource = URL_pageSource.GetResponse()) { str_PageSource = new StreamReader(MyResponse_PageSource.GetResponseStream(), System.Text.Encoding.UTF8); pagesource1 = str_PageSource.ReadToEnd(); success = true; }
错误:
尝试了太多的自动重定向。
通过此代码尝试尝试,但未成功。
许多网址使用此代码成功,但是此网址未成功。
这是方法
string url = "https://www.digikala.com/"; using (HttpClient client = new HttpClient()) { using (HttpResponseMessage response = client.GetAsync(url).Result) { using (HttpContent content = response.Content) { string result = content.ReadAsStringAsync().Result; } } }
并且result
变量将包含该页面,因为HTML
您可以将其保存到这样的文件中
System.IO.File.WriteAllText("path/filename.html", result);
注意您必须使用名称空间
using System.Net.Http;
更新,如果你使用的是旧版VS然后就可以看到这个答案,使用WebClient
和WebRequest
为了同样的目的,但实际上更新VS是一个更好的解决方案。