WPF를 사용하여 내 응용 프로그램에서 쿠키가 필요한 HtmlAgilityPack.HtmlWeb을 호출해야합니다.
다음 코드를 시도했지만 오류가 발생했습니다.
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에서 발생했지만 사용자 코드에서 처리되지 않았습니다.
추가 정보 : 'Value'= '방문 = "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;
};