自實現的cookie 驗證,遠程取值的例子
以下代碼配合HttpClient使用可以實現跨域(cookie的讀寫)
//驗證
代碼如下:
HttpClient httpClient = new HttpClient(url, null, true);
httpClient.PostingData.Add(key,value);//登錄用戶名
httpClient.PostingData.Add(key,value);//密碼
string str = httpClient.GetString();
----寫文件 序列化傳回來的cookie
代碼如下:
CookieCollection cookies = httpClient.Context.Cookies;//保存一個全局的cookie文件
FileStream fileStream = new FileStream("xxx.dat", FileMode.Create);
BinaryFormatter b = new BinaryFormatter();
b.Serialize(fileStream, cookies);
fileStream.Close();
--讀文件 反序列化cookies 賦給httpClient的cookies
代碼如下:
FileStream fileStream = new FileStream("xxx.dat", FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryFormatter b = new BinaryFormatter();
CookieCollection cookies = b.Deserialize(fileStream) as CookieCollection;
HttpClient httpClient = new HttpClient("url");//取值的url
httpClient.Context.Cookies = cookies;
string str = httpClient.GetString();