我需要能够登录到一个网站。最好能够将登录凭证保存在Cookie中。之后,我应该能够浏览到网站,而在任何时候都能够获得htmldocument。需要能够登录和浏览网站从网站获取htmlDocument
我已经在使用Html Agility Pack解析网站。如果我只是可以使用登录凭据加载HtmlDocument,但是目前尚未能够满足,我们将感到满意。我已经尝试了HtmlWeb和HttpWebRequest。
var client = new WebClient();
client.Credentials = new NetworkCredential("myemail", "mypassword");
HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
// There are various options, set as needed
htmlDoc.OptionFixNestedTags=true;
HtmlWeb hw = new HtmlWeb();
WebProxy prox = new WebProxy(url);
try{
htmlDoc = hw.Load(url, "POST", prox, new NetworkCredential("myEMAIL", "mYPAssword"));
}catch(HtmlWebException ex){
Console.WriteLine("htmlParser.cs " + ex.Message);
}
它只是不会登录。没有错误消息。
try{
var temp = new Uri(url);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(temp);
request.Credentials = new NetworkCredential("myUsername", "myPassword");
request.CookieContainer = myContainer;
request.PreAuthenticate = true;
request.Method = "POST";
using (var response = (HttpWebResponse)request.GetResponse())
{
using (var stream = response.GetResponseStream())
{
htmlDoc.Load(stream, Encoding.GetEncoding("UTF-8"));
}
}
}
“我试过了”那你为什么不显示你的代码?请将此添加到您的问题中,并解释它有什么问题。 – mason