我需要读取网页并将其内容存储在字符串中以供进一步处理。
听起来很简单,但我有Cookie支持的问题。如何将网页保存为支持cookie的字符串(httpWebRequest)
打开页面说我需要浏览器支持cookie(或打开)。
我做了尝试的方法做到这一点通过HttpWebRequest的 - 这通常工作给我,但我是来与那些不幸的饼干停顿......
任何想法如何使它工作?
这里是我的方法:
string ReadHtml (string address, string encoding) {
Uri url = new Uri(address);
CookieContainer cookieContainer = new CookieContainer();
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
httpWebRequest.AllowAutoRedirect = true;
httpWebRequest.KeepAlive = true;
httpWebRequest.CookieContainer = cookieContainer;
httpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
httpWebRequest.Method = "GET";
HttpWebResponse webResponse = (HttpWebResponse)httpWebRequest.GetResponse();
// Code Page
Encoding enc = Encoding.GetEncoding(encoding);
// Read content
StreamReader loResponseStream = new StreamReader(webResponse.GetResponseStream(),enc);
string lcHtml = loResponseStream.ReadToEnd();
webResponse.Close();
loResponseStream.Close();
return lcHtml;
}
我不需要阅读/管理cookies。只是我想读的网页需要从我的cookies中启用显示。暂时显示“请在浏览器中启用Cookie”(而不是“正常”内容)。我在找的是告诉那个页面我很高兴'吃'它的饼干:) – Maciej 2010-04-06 13:22:55