2017-02-28 69 views
0

使用WPF我需要使用HtmlAgilityPack.HtmlWeb调用需要来自我的应用程序的cookie。使用Application.GetCookie将Cookie添加到cookieContainer

我尝试下面的代码,但我得到一个错误:

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'='visit =“v = 1 & M”... lang = v = 2 & lang = zh-CN'Cookie的部分内容无效。

回答

0

下面是解决我的错误:

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; 
}; 
相关问题