补充:
- webrequest 启用cookietainer 才能使用cookie;但是未启用之前可以在http header 中添加cookier字符串让此次http 有cookie;一旦开启了cookiecontainer的话,则在http header 添加cookie无效。
- cookiename和cookievalue 不能有=号,不能name相同,cookiename 和value 不能有空格
格式: cookiename=cookievalue
public CookieContainer addCookieToContainer(string cookie,CookieContainer cc,string domian)
{
string[] tempCookies = cookie.Split(';');
string tempCookie = null;
int Equallength = 0;// =的位置
string cookieKey = null;
string cookieValue = null;
//qg.gome.com.cn cookie
for (int i = 0; i < tempCookies.Length; i++)
{
if (!string.IsNullOrEmpty(tempCookies[i]))
{
tempCookie = tempCookies[i];
Equallength = tempCookie.IndexOf("=");
if (Equallength != -1) //有可能cookie 无=,就直接一个cookiename;比如:a=3;ck;abc=;
{
cookieKey = tempCookie.Substring(0, Equallength).Trim();
//cookie=
if (Equallength == tempCookie.Length - 1) //这种是等号后面无值,如:abc=;
{
cookieValue = "";
}
else
{
cookieValue = tempCookie.Substring(Equallength + 1, tempCookie.Length - Equallength - 1).Trim();
}
}
else
{
cookieKey = tempCookie.Trim();
cookieValue = "";
}
cc.Add(new Cookie(cookieKey, cookieValue, "", domain));
}
}
return cc;
}