当前位置: 移动技术网 > IT编程>开发语言>.net > DotNet Compact Framework 中使用HttpWebRequest和HttpWebResponse时使用Cookie

DotNet Compact Framework 中使用HttpWebRequest和HttpWebResponse时使用Cookie

2018年03月20日  | 移动技术网IT编程  | 我要评论
在Windows CE上使用HttpWebRequest和HttpWebResponse时黙认是没有Cookie的,每次请求都会在服务器上创建一个新的会话,对于需要使用Sessio

在Windows CE上使用HttpWebRequest和HttpWebResponse时黙认是没有Cookie的,每次请求都会在服务器上创建一个新的会话,对于需要使用Session的应用来说,这是不可接受的,在网上找了很久,找到这一篇文章,提供了一个CookieManager类来管理Cookie,感觉很好用。

如果你和我一样,要求不高,只是保证每次都能使用同一个会话的话,可以使用下面的代码:

private static string cookies = string.Empty;

private static void SaveCookie(HttpWebResponse response)
{
StringBuilder sb = new StringBuilder();
for(var i = 0; i < response.Headers.Count; i++)
{
if ("set-cookie".Equals(response.Headers.Keys[i].ToLower()))
{
sb.Append(response.Headers[i] + ";");
}
}
string s = sb.ToString();

if (s.IndexOf("JSESSIONID") >= 0)
{
if (string.IsNullOrEmpty(cookies))
{
cookies = s;
}
else
{
//Session Timeout, relogin
cookies = s;
Relogin();
}
}
}

private static void SetCookie(HttpWebRequest request)
{
request.Headers.Add("Cookie:" + cookies);
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网