C# HttpClient Cookie验证解决方法

自实现的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();

详细出处参考:http://www.jb51.net/article/32255.htm

posted @ 2013-09-12 18:03  simadi  阅读(1410)  评论(0编辑  收藏  举报