Используя WPF мне нужно сделать вызов с помощью HtmlAgilityPack.HtmlWeb, для которого требуется cookie из моего приложения.
Я попробовал следующий код, но я получаю сообщение об ошибке:
HtmlWeb web = new HtmlWeb();
web.PreRequest += request =>
{
CookieContainer cookieContainer = new CookieContainer();
cookieContainer.Add(new Cookie("name",Application.GetCookie(uri)){Domain = uri.Host});
request.CookieContainer = cookieContainer;
return true;
};
Я получаю следующую ошибку: исключение типа «System.Net.CookieException» произошло в System.dll, но не было обработано в коде пользователя
Дополнительная информация: Недопустимая часть файла cookie 'Value' = 'visit = "v = 1 & M" ... lang = v = 2 & lang = en-us ".
Вот что решило мою ошибку:
web.PreRequest += request =>
{
CookieContainer cookieContainer = new CookieContainer();
string str = Application.GetCookie(uri);
foreach (string s in str.Split(';'))
{
int charIndex = s.IndexOf('=');
string a = s.Substring(0, charIndex).Trim();
string b = s.Substring(charIndex+1, s.Length - charIndex-1);
cookieContainer.Add(new Cookie(a,b) { Domain = uri.Host });
}
request.CookieContainer = cookieContainer;
return true;
};