//③将保存的cookie读取出来进行使用
//换到4.0框架发现发现CookieContainer加不入cookie,3.5是可以的,所以写了下面changeCookieForSend的方法,发送请求时直接使用字符串形式的cookiepublic static CookieContainer readCookieContainer(String cookieStr)
{
CookieCollection ckc = new CookieCollection();
CookieContainer ckcc = new CookieContainer();
string[] cookies = cookieStr.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
foreach (string c in cookies)
{
string[] cc = c.Split(";".ToCharArray());
Cookie ck = new Cookie(); ;
ck.Discard = false;
ck.Domain = cc[0];
ck.Expired = true;
ck.HttpOnly = true;
ck.Name = cc[1];
ck.Path = cc[2];
ck.Port = cc[3];
ck.Secure = bool.Parse(cc[4]);
ck.Value = cc[5];
ckc.Add(ck);
}
ckcc.Add(ckc);
return ckcc;
}
public static String changeCookieForSend(String cookieStr)
{
String sendCookie = "";
string[] cookies = cookieStr.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
foreach (string c in cookies)
{
string[] cc = c.Split(";".ToCharArray());
Cookie ck = new Cookie(); ;
ck.Discard = false;
ck.Domain = cc[0];
ck.Expired = true;
ck.HttpOnly = true;
ck.Name = cc[1];
ck.Path = cc[2];
ck.Port = cc[3];
ck.Secure = bool.Parse(cc[4]);
ck.Value = cc[5];
sendCookie += ck.Name +"="+ck.Value+";";
}
return sendCookie;
}