java代码如何读取到浏览器中的cookie值? 160C

问题描述:
通过java代码,如何得到IE浏览器中指定网址的cookie值;
(这个网址是通过用户名和密码,成功登录之后的cookie值;
注:通过代码模拟登录,这个思路已经行不通了,因为我试了,这个网址不行,其他的可以);

大概意思是:打开IE浏览器,输入相对应的网址,输入用户名和密码,成功登录之后,
浏览器中会有一个cookie值,如何通过java程序得到这个cookie值,

14个回答

给出cookie的一个通用类

/*

  • 该类可以从浏览器请求中提取出cookies并进行对cookis的相关操作
  • */

public class CookiesUtil extends BaseController {

/**
 * 根据名字获取cookie
 * 
 * @param request
 * @param name
 *            cookie名字
 * @return
 */
public static Cookie getCookieByName(HttpServletRequest request, String name) {
    Map<String, Cookie> cookieMap = ReadCookieMap(request);
    if (cookieMap.containsKey(name)) {
        Cookie cookie = (Cookie) cookieMap.get(name);
        return cookie;
    } else {
        return null;
    }
}

/**
 * 将cookie封装到Map里面
 * 
 * @param request
 * @return
 */
private static Map<String, Cookie> ReadCookieMap(HttpServletRequest request) {
    Map<String, Cookie> cookieMap = new HashMap<String, Cookie>();
    Cookie[] cookies = request.getCookies();
    if (null != cookies) {
        for (Cookie cookie : cookies) {
            cookieMap.put(cookie.getName(), cookie);
        }
    }
    return cookieMap;
}

/**
 * 保存Cookies
 * 
 * @param response
 *            servlet请求
 * @param value
 *            保存值
 * @author jxf
 */
public static HttpServletResponse setCookie(HttpServletResponse response, String name, String value,int time) {
    // new一个Cookie对象,键值对为参数
    Cookie cookie = new Cookie(name, value);
    // tomcat下多应用共享
    cookie.setPath("/");
    // 如果cookie的值中含有中文时,需要对cookie进行编码,不然会产生乱码
    try {
        URLEncoder.encode(value, "utf-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    cookie.setMaxAge(time);
    // 将Cookie添加到Response中,使之生效
    response.addCookie(cookie); // addCookie后,如果已经存在相同名字的cookie,则最新的覆盖旧的cookie
    return response;
}

u013456370
指尖de柔情 类似这个网址:https://www.51.la/login.asp 在IE浏览器中打开,成功登录之后,用java代码去读取该网址的cookie值,怎么处理
一年多之前 回复
u013456370
指尖de柔情 亲,我的意思是:java读取IE浏览器中登录指定网站的cookie值,是通过java代码读取浏览器中的内容,前提是:必须在浏览器中成功登录该网站
一年多之前 回复

java通过httpServletRequest接口来访问浏览器请求中的cookies数据
每个cookie有两个属性:键 ,值(无特定格式字符串,所以可以diy存数据,不过要注意URL编码问题)
如果我们需要存储新的cookie我们可以new一个cookie实例 并通过httpservletRsponse提交到浏览器,进而存储到本地!
//写cookie

Cookie namecookie = new Cookie("name",name);

Cookie passwordcookie = new Cookie("password",password);

Cookie optioncookie = new Cookie("option","1");

//生命周期

namecookie.setMaxAge(60*60*24*365);

passwordcookie.setMaxAge(60*60*24*365);

optioncookie.setMaxAge(60*60*24*365);

response.addCookie(namecookie);

response.addCookie(passwordcookie);

response.addCookie(optioncookie);

//读cookie

Cookie[] cookies = request.getCookies();

if(cookies!=null)

{

String name = "";

String password = "";

String option = "";

for (int i = 0; i < cookies.length; i++)

{

Cookie c = cookies[i];

if(c.getName().equalsIgnoreCase("name"))

{

name = c.getValue();

}

else if(c.getName().equalsIgnoreCase("password"))

{

password = c.getValue();

}

else if(c.getName().equalsIgnoreCase("option"))

{

option = c.getValue();

}

}

}

u013456370
指尖de柔情 类似这个网址:https://www.51.la/login.asp 在IE浏览器中打开,成功登录之后,用java代码去读取该网址的cookie值,怎么处理
一年多之前 回复
u013456370
指尖de柔情 亲,我的意思是:java读取IE浏览器中登录指定网站的cookie值,是通过java代码读取浏览器中的内容,前提是:必须在浏览器中成功登录该网站
一年多之前 回复

namecookie.setMaxAge(60*60*24*365);

passwordcookie.setMaxAge(60*60*24*365);

optioncookie.setMaxAge(60*60*24*365);

response.addCookie(namecookie);

response.addCookie(passwordcookie);

response.addCookie(optioncookie);

u013456370
指尖de柔情 类似这个网址:https://www.51.la/login.asp 在IE浏览器中打开,成功登录之后,用java代码去读取该网址的cookie值,怎么处理
一年多之前 回复
u013456370
指尖de柔情 亲,我的意思是:java读取IE浏览器中登录指定网站的cookie值,是通过java代码读取浏览器中的内容,前提是:必须在浏览器中成功登录该网站
一年多之前 回复

Cookie[] cookies = request.getCookies();
for(Cookie cookie : cookies){
if(cookie.getName().equals("loginInfo")){
String loginInfo = cookie.getValue();
String username = loginInfo.split(",")[0];
String password = loginInfo.split(",")[1];
request.setAttribute("username", username);
request.setAttribute("password", password);
}
}

u013456370
指尖de柔情 类似这个网址:https://www.51.la/login.asp 在IE浏览器中打开,成功登录之后,用java代码去读取该网址的cookie值,怎么处理
一年多之前 回复
u013456370
指尖de柔情 亲,我的意思是:java读取IE浏览器中登录指定网站的cookie值,是通过java代码读取浏览器中的内容,前提是:必须在浏览器中成功登录该网站
一年多之前 回复

跪求大神!我的QQ:992544491 王久印

我最近做的项目都是js获取的cookie,你可以试试

u013456370
指尖de柔情 类似这个网址:https://www.51.la/login.asp 在IE浏览器中打开,成功登录之后,用java代码去读取该网址的cookie值,怎么处理
一年多之前 回复
u013456370
指尖de柔情 类似这个网址:https://www.51.la/login.asp 在IE浏览器中打开,成功登录之后,用java代码去读取该网址的cookie值,怎么处理
一年多之前 回复

首先我们认识下什么是cookies:
cookie实际上是一个存在你硬盘里的数据,但是这些数据很特殊,只能由web应用提交给浏览器帮助存储,并且我们还能读取浏览器存在本地的cookie
web应用一般只在cookie中存储一些用户信息等少量且暂时的数据,数据量大则不适合存储在cookies
一般浏览器对于每个web应用会分别给予他们40个cookie用来存储数据,并且每个cookie的大小不超过4K(听说部分浏览器的cookie能存很大的数据,不过我们一般不会存这么大的数据,因为数据提取的效率不高,影响性能)
说了这么多废话,然后重点终于来了
java通过httpServletRequest接口来访问浏览器请求中的cookies数据(这里先了解一下cookies来龙去脉,代码待会一并给出)
每个cookie有两个属性:键 ,值(无特定格式字符串,所以可以diy存数据,不过要注意URL编码问题,编码问题待会和代码一同讲)
如果我们需要存储新的cookie我们可以new一个cookie实例 并通过httpservletRsponse提交到浏览器,进而存储到本地
下面给出cookie的一个通用类
/*

  • 该类可以从浏览器请求中提取出cookies并进行对cookis的相关操作
  • */

public class CookiesUtil extends BaseController {

/**
 * 根据名字获取cookie
 * 
 * @param request
 * @param name
 *            cookie名字
 * @return
 */
public static Cookie getCookieByName(HttpServletRequest request, String name) {
    Map<String, Cookie> cookieMap = ReadCookieMap(request);
    if (cookieMap.containsKey(name)) {
        Cookie cookie = (Cookie) cookieMap.get(name);
        return cookie;
    } else {
        return null;
    }
}

/**
 * 将cookie封装到Map里面
 * 
 * @param request
 * @return
 */
private static Map<String, Cookie> ReadCookieMap(HttpServletRequest request) {
    Map<String, Cookie> cookieMap = new HashMap<String, Cookie>();
    Cookie[] cookies = request.getCookies();
    if (null != cookies) {
        for (Cookie cookie : cookies) {
            cookieMap.put(cookie.getName(), cookie);
        }
    }
    return cookieMap;
}

/**
 * 保存Cookies
 * 
 * @param response
 *            servlet请求
 * @param value
 *            保存值
 * @author jxf
 */
public static HttpServletResponse setCookie(HttpServletResponse response, String name, String value,int time) {
    // new一个Cookie对象,键值对为参数
    Cookie cookie = new Cookie(name, value);
    // tomcat下多应用共享
    cookie.setPath("/");
    // 如果cookie的值中含有中文时,需要对cookie进行编码,不然会产生乱码
    try {
        URLEncoder.encode(val
u013456370
指尖de柔情 类似这个网址:https://www.51.la/login.asp 在IE浏览器中打开,成功登录之后,用java代码去读取该网址的cookie值,怎么处理
一年多之前 回复

cookie是跟请求的域名绑定的。

对于你的场景,首先你需要请求登录,在后端登录请求中需要告诉浏览器设置cookie,java中有对response应该是提供了类似setcookie或者addcookie方法。
客户端在收到response之后会将cookie保持,然后每个相同域名的请求都会自动带上这个cookie,你只需要在后端请求处理的时候去获取cookie进行相应处理即可。

yinyihui
yinyihui 回复指尖de柔情: 每个浏览器不一样,但是是可以设置的,cookie如果设置了失效时间,浏览器会自动删除失效的cookie
一年多之前 回复
u013456370
指尖de柔情 去硬盘上面对应浏览器的cookie目录里面去获取,是不是每个电脑的目录还不太一样
一年多之前 回复
yinyihui
yinyihui java本身是无法获取cookie的,只有在request中获取,request是一个http请求。我不明白你所的用java获取cookie是什么意思?没有请求的话那你就去硬盘上面对应浏览器的cookie目录里面去获取。
一年多之前 回复
u013456370
指尖de柔情 类似这个网址:https://www.51.la/login.asp在IE浏览器中打开,成功登录之后,用java代码去读取该网址的cookie值,怎么处理
一年多之前 回复
u013456370
指尖de柔情 就是用java获取IE浏览器中的cookie
一年多之前 回复
yinyihui
yinyihui 回复指尖de柔情: 用java代码获取cookie是什么意思?如果不通过http请求你后端是无法获取客户端信息的
一年多之前 回复
u013456370
指尖de柔情 类似这个网址:https://www.51.la/login.asp 在IE浏览器中打开,成功登录之后,用java代码去读取该网址的cookie值,怎么处理
一年多之前 回复

HttpSession session = request.getSession();
session.setAttribute("user", loginName);
String user =session.getAttribute("user");

u013456370
指尖de柔情 类似这个网址:https://www.51.la/login.asp在IE浏览器中打开,成功登录之后,用java代码去读取该网址的cookie值,怎么处理
一年多之前 回复

综述: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方法

共14条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何取到Cookie中的值
我在一个方法中想得到Cookie中SessionID的值,现在本地磁盘上已有这个Cookie,请问我应该怎么去得到。通过什么去判断应该读取哪个Cookie文件。rn还有一个问题,别人回答正确了,我怎么给人家分啊?rn谢谢大家帮忙。
读取到的cookie值是null,求救!
rnrn rn rn rnrnrn 123rnrn
如何读取到浏览器中的证书
我想把一个证书导入到浏览器中,然后通过程序获得证书中的公钥和私钥,进行加密解密rnrn但是不知道如何去读取,有没有做过这方面的?
如何取到Session或者Cookie里的值
我想在会员发帖的时候把会员名字直接放到Label中rn不用会员自己输入,如何从Session或者Cookie里得到会员信息?
苹果浏览器怎么读cookie
在IE里读Cookie是怎么写得:rnif i mod CInt(request.Cookies("a"))=1 thenrn没问题,为什么用苹果浏览器打开报rnrnMicrosoft VBScript 运行时错误 (0x800A000D)rn类型不匹配: 'CInt'rn/Normandesign/top.asp, 第 117 行rnrnrn苹果浏览器也把 cookie打开了rn
如何把数据库中的值读取到数组中来?
int[] a2 = new int[];rnint x = 0;rnwhile(rs.next())rnrn a2[x] = rs.getInt(1);rn System.out.println(a2[x]);rn x++;rnrn我是这样写的。但程序报错。输出红色的0,应该是指没有指定数组的长度,但我从数据库中取出多少数据,根本就不是固定的,所以也不能定义数组的length,应该怎么办?
如何读取到的换行符
如何读取数据库中的换行符。rn
如何取到SELECT中的值
[code=Java]rnrn[/code]rn如何取到该值
如何取到用户控件中的值?
我创建了一个用户控件,将DropDownList控件放入该用户控件里,然后我新建一个WebForm,将该用户控件放入WebForm中,现在我想通过单击WebForm里的Button按钮,让TextBox中显示出DropDownlist里选择的内容.各位高手,我应该怎样来实现呀?
如何读这样的cookie?
cdb_sidrn3r7Qvbrnwww.sqren.cn/rn1024rn2329247104rn29842351rn1662409872rn29840943rn*rncdb_cookietimern0rnwww.sqren.cn/rn1024rn3669491072rn29914368rn1662409872rn29840943rn*rnUserSettingsrnFont=Arial&Color=Bluernwww.sqren.cn/rn1024rn3249936896rn29841149rn2555233392rn29840948rn*rncdb_visitedfidrn3rnwww.sqren.cn/rn1024rn2830666624rn29846981rn3007827984rn29840946rn*rncdb_authrnabcrnwww.sqren.cn/rn1024rn269687296rn29914374rn2555233392rn29840948rn*rnrnrnrnrnrnrncdb_authrn下面的rnabcrn是网站的用户名rnrnrn请问如何读出来?谢谢rn
如何读本机的cookie?
我在IE工具条上做了一个toolbar,我想让上面的按钮click事件读本机的cookie ,rn我的问题是如何用 delphi 写了个单机版的程序,读本机的cookie.rn还请大侠赐教。rn
jsp中为什么读取到的cookie的value和预想不一样?
服务器向客户端发送cookie时,发送的cookie的值是admin,从服务器读取客户端的cookie时,cookie的值就变成0967F215EC5C6DD5D2568B3B6679042F,客户端使用ie浏览器,在windows的cookie文件夹里只有一个cookie记事本文件,还有一个叫index的文件,我不知道它是什么。rn这是怎么回事?发送cookie代码:rnCookie c1=new Cookie("username","admin");rn c1.setMaxAge(60*60*24);rn c1.setPath("/");rn response.addCookie(c1);rn读取cookie代码:rnCookie[] myCookie1=request.getCookies();rnfor(int n1=0;n1
文件是如何读取到内存中的?
比如用fopen打开文件,文件的整个内容都在内存中了吗?或者只是一部分内容,或只是文件指针?rnrn谁给个详细点的解释
Java代码中怎么使用cookie
就是怎么获取到cookie 又怎么将数据在写入cookie
如何读取到.ini文件中内容
如何读取到.ini文件中内容,文件中有中文又该如何处理??
swfupload在FF下无法取到cookie值
之前听一位大虾说用swfupload实现文件上传,但现在出现了在FF下无法取到cookie值的问题,试图直接在param中将cookie传到后台(后台是Spring MVC的框架),但是不知道该怎么传,因为在js里面取的cookie是String型,但后台request中的cookie却是一个Cooike对象。纠结啊!希望各位大侠支招啊~
如何清除浏览器的cookie
Google Chrome 选择浏览器工具栏上的 Chrome 菜单图标 。 选择工具。 选择清除浏览数据。 在显示的框中,选择 Cookie 及其他网站和插件数据和缓存的图片和文件。 在顶部的菜单框中,选择全部以删除所有内容。 选择清除浏览数据。
写cookie和读cookie
我要在客户机上写入cookie ,里面写入 username password rn如何写,又如何读呢rn
如何读取到数据库名?
VFP9.0+SQLrnrn这是连接数据库的命令rn nhandle=sqlstringconnect("driver=sql server;server=lyf;uid=;pwd=;database=LT100101001") &&自己的机rnrnrn现要求将LT100101001,作为字符串,读入内存,可有什么办法?rn
如何读取到数组的长度?
正在学ASP+javascript+SQLrnrn后台程序:rnrn<%rnvar check_array=Request.Form("my_book") //my_book,是上页中checkbox的name值rnResponse.Write(check_array) //此时,能正常读取到值.如:4, 3, 8, 63, 145, 261, 274rnResponse.Write(check_array(1)) //check_array(1) 能读取出数组的第一个值4rnrnResponse.Write([color=#FF0000]check_array的总长度[/color]) //此命令不会,向老师请教.rnrn%>rnrn在向老师请教前,我作了如下尝试rnrnResponse.Write(check_array.length) //不提示出错,但返回的是空值.rnResponse.Write(UBound(check_array)) //出错提示:缺少对象. 当时怀疑是不是UB二个字母大小写错误,反复试后,都同样出错.rnrn
如何取到返回的值
rnrnrnrn
如何取到returnvalue的值
最近在用java web做BBS,在删除帖子过程中会弹出确认对话框,提示是确认删除还是取消,rn删除帖子rn那如何在servlet处理程序中取到return过来的值呢?
如何取到这样的值?
rnrn...rn取得"d:htmldescription"的值rnrn"d:htmldescpritin"值为 rnrn rn rnget it.rn如何将其中的值getit在xsl:stylesheet 取到? rn
如何取到ComboBox1的值
控件如下:rnrnrn后台调用rnMe.txb_AcountNo.Attributes.Add("onblur", "return checkBankNo(ComboBox1,this,lb_message,'NOFOCUS')")rnrn从alert调试时,alert(document.getElementById("objtype"))能取到对象,请问如何取到ComboBox1的值。rnrn页面上获取源文件时,看到此控件如下:rn rn rn rnrn rn rn rn rnrn
如何取到这个值
rnrnjsre.js里面取到classpath这个值,怎么取呢
如何取到这个值?
rnrn这个列表框客户要求用javascript来增加管理rn那我在asp.net如何取到值,试了许多方式都不行(估计它是客户端的)如何办?
如何将TXT文件中的若干行值读取到数组中,急
需要将TXT中的若干行值读取到数组中,然后随机抽取rnrnstring [] = ?
可否利用xml读取到值??
aa30rnrnrn怎样读取到30的值?
在一个类中如何取到struts-config中的值?
rn rn rn rn rn rn我把数据库连接写到struts-config了,想在类中取出来。
request无法读取到传递来的值
在.vb 文件里写成了如下形式的语句:rnResponse.Write(" ")rn生成的传递值为http://192.168.0.221/hn/hoaunews/ryddql.aspx?lxq=5&gyq=业务员&rjgsq=江北区分公司&sjgsq=两路分部&yjgsq=重庆公司rnrn可是另一个页面确没有办法读取到其值.rnrnDim rjgs As Stringrn rjgs = Request("rjgsq")rnrn Response.Write(rjgs)rn Response.End()
word读取到内存中
将word内容读取出来,包括复选框,是否选中,所有数据读取后
XML读取到datatable中
rnrn rn 105420173995066rn 420000000rn 381450994rn S111008183528687rn 2011-10-08 18:36:05rn 1.00rn 成功rn 0.00rn 12rn yyyrn rn rn 105420173995066rn 420000000rn 381450994rn S111008192748013rn 2011-10-08 19:28:50rn 1.00rn 成功rn 0.00rn 14rn xxxrn rnrnrn小弟拜求各位大侠帮忙将此XML字符串读取到DATATABLE或者LIST中,谢谢!
java代码的浏览器
基于Java代码的网页浏览器,包含两个Java源文件,ViewSourceFrame.java和WebBrowser.java源文件。输入网址就可以进行网页链接,如:www.sohu.com
firefox 浏览器中如何取到 frameset对象
想用js设置帧的宽高rn在ie中可以取到frameset对象设置rows和cols属性rn在firefox中有什么办法呀rn请高手指点,谢谢!!
读Cookie
本视频教程以通俗易懂的方式全面讲解JavaScript核心技术,学完该培训视频即可进行JavaScript程序设计。rn课程内容包括:rn1.基础入门与核心语法rn2.JavaScript数组、循环、函数rn3.DOM操作rn4.面向对象、JSONrn5.常用内置对象、表单校验rn6.客户端存储Cookie和WebStoragern教学全程以代码案例的形式讲解,通俗易懂!!!
如何创建 Cookie?如何取回 Cookie 的值?
Cookie 是什么? cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。 如何创建 Cookie? setcookie() 函数用于设置 cookie。 注释:setcookie() 函数必须位于 标签之前。 如
读图片显示到浏览器中
//获取绝对路径 String realPath = getServletContext().getRealPath(“img/slj.jpg”); System.out.println(realPath); //创建输入流 读图片到内存中 FileInputStream fis = new FileInputStream(realPath); //response 创建输出流 Servle...
jquery取不到cookie中的值(本地有cookie但就是无法取到对应的值)
假如有一个cookie是这样 名字: imgProduct 内容: “3024fake%path” 那么通过$.cookie(“imgProduct”) 你就会取到一个undefined的结果 造成这个现象的原因是因为你的cookie值中有特殊符号% 去掉这个特殊符号 就能够获取到值了改成这个样子就可以了 名字: imgProduct 内容: “3024fakepath”这个隐藏的bug
jsp页面读不到Cookie的值,servlet可以
在servlet里:rnrnCookie c = new Cookie(name,value);rnc.setMaxAge(age);rnresponse.addCookie(c);rnrnString value = null;rnCookie[] c = request.getCookies();rn if(c != null)rn for(int i=0;i
windows2003下cookie,为何读不到值?
在本机测试,没有问题,cookie可正常读取rn但在另一台机器上,第一次写cookie成功了,但之后读就读不到cookie了。。rn过期为1分钟。。。rn郁闷了半天了。。。help 么。。。
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview