response.cookies(response.cookie和request.cookie的区别)
大家好,response.cookies相信很多的网友都不是很明白,包括response.cookie和request.cookie的区别也是一样,不过没有关系,接下来就来为大家分享关于response.cookies和response.cookie和request.cookie的区别的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
Request.Cookies 和 Response.Cookies 的区别
Request.Cookies:主要是用于获取所有Cookie值的,包括JS、Request.Cookies和
Response??.Cookies三种方法创建的Cookie值;说到这里,大家可以看出Request.Cookies既可以获取Cookie也可
以创建Cookie,那么它创建的Cookie与Response和JS创建的Cookie有什么不用呢,通过实验发现,通过
Request.Cookies创建的Cookie只有?Request.Cookies才能获取到,而其他两种方法是不能获取的,也就是说
Request.Cookies创建的Cookie只能用于.Net后台不能用于HTML的前台。
Response.Cookies:主要用于Cookie的创建、赋值和删除操作,经过?Response.Cookies操作过的Cookie,
所有方法获取到的都是被更新过的值,也就是说Response.Cookies是修改所有容器中的Cookie的值;Response.Cookies除
了是Cookie的终极修改者外,我们在写代码的时候可能会发现通过Response.Cookies也可以得到部分Cookie的值,通过实验发现,此
处获取的Cookie值只是本次会话中且是通过Response.Cookies创建的Cookie,基本上没什么用处。
如何从request中获取指定cookies
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。
1.获取Cookie的值:获取Cookie值的标准代码格为:myCookie.Values["auth"];
上句代码可以获取名为myCookie的Cookie对象键名为auth的键值。如果不存在,则返回null。
DateTime now=new DateTime.Now;
Response.Cookies["Info"].Expires= DateTime.Now.AddDays(1);
//设定Cookie过期时间下面的代码示例演示删除应用程序中所有可用 Cookie的一种方法
2.代码如下:
HttpCookie aCookie;
string cookieName;
int limit= Request.Cookies.Count;
for(int i= 0; i< limit; i++)
{
cookieName= Request.Cookies[i].Name;
aCookie= new HttpCookie(cookieName);
aCookie.Expires= DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
}
3.以上就是Java程序开发中涉及到的获取cookie方法
分享
如何获取 HttpResponse返回的Cookie-C#NET
可以使用SharedPreferences或者SQLite来保存用户信息private static HashMap<String,String> CookieContiner=new HashMap<String,String>();
/**
*保存Cookie
*@param resp
*/
public void SaveCookies(HttpResponse httpResponse)
{
Header[] headers= httpResponse.getHeaders("Set-Cookie");
String headerstr=headers.toString();
if(headers== null)
return;
for(int i=0;i<headers.length;i++)
{
String cookie=headers[i].getValue();
String[]cookievalues=cookie.split(";");
for(int j=0;j<cookievalues.length;j++)
{
String[] keyPair=cookievalues[j].split("=");
String key=keyPair[0].trim();
String value=keyPair.length>1?keyPair[1].trim():"";
CookieContiner.put(key, value);
}
}
}
/**
*增加Cookie
*@param request
*/
public void AddCookies(HttpPost request)
{
StringBuilder sb= new StringBuilder();
Iterator iter= CookieContiner.entrySet().iterator();
while(iter.hasNext()){
Map.Entry entry=(Map.Entry) iter.next();
String key= entry.getKey().toString();
String val= entry.getValue().toString();
sb.append(key);
sb.append("=");
sb.append(val);
sb.append(";");
}
request.addHeader("cookie", sb.toString());
}做了一个android网络应用,要求用自己实现的webview去访问web网站,并且在远程登录成功之后把cookie写入到手机,保留用作以后的自动登录。找了好多资料。发觉读取cookies倒还用的很普遍,可是通过程序写cookie却没有太多资料。
先来看一下如何读取cookie吧:
try
{
DefaultHttpClient httpclient= new DefaultHttpClient();
response.cookie和request.cookie的区别
一、范围不同
1、response.cookie:操作过的Cookie,所有方法获取到的都是被更新过的值,也就是说Response.Cookies是修改所有容器中的Cookie的值。
2、request.cookie:创建的Cookie只能用于后台不能用于HTML的前台。
二、特点不同
1、response.cookie:用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。
2、request.cookie:设置cookie的最大有效期为30天,然后通过Response回送cookie到浏览器。
三、使用语法不同
1、response.cookie:Response.Cookies(CookieName)[(key)|.attribute]=value。这里的CookiesName是指定的Cookie的名称,如果指定了Key,则该Cookie就是一个字典,Attribute属性包括Domain,Expires,HasKeys,Path,Secure。
2、request.cookie:Request.Cookies使用语法:Request.Cookies(cookie)[(key)|.attribute]。
参考资料来源:百度百科-Response对象
参考资料来源:百度百科-Request对象
感谢您的阅读!希望本文对解决您关于response.cookies和response.cookie和request.cookie的区别的问题有所帮助。如果您还有其他疑问,欢迎随时向我们提问。