2017-02-28 71 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; 
}; 
相關問題