java程序怎样修改_【暂未解决】Eclipse中调试Java代码期间如何修改值

【背景】

折腾:

期间,调试代码期间,发现,对应的第三次的访问百度,访问:

时之前的cookie,是这样的:[

[version: 0][name: BAIDUID][value: 7164BE33080CE050940980ECBDFBCB9C:FG=1][domain: .baidu.com][path: /][expiry: Thu Sep 17 14:22:08 CST 2043],

[version: 0][name: BDSVRTM][value: 1][domain: www.baidu.com][path: /][expiry: null],

[version: 0][name: HOSUPPORT][value: 1][domain: passport.baidu.com][path: /][expiry: Sat Dec 04 14:22:31 CST 2021],

[version: 0][name: H_PS_PSSID][value: 3359_3341_2776_1424_2981][domain: .baidu.com][path: /][expiry: null]

]

想要将其中的

H_PS_PSSID

expiry

的值,从null改为:

Thu Sep 17 14:22:08 CST 2043

保证其不过期。

但是在Eclipse中,发现无法更改:

8b35f4eafa74534f63c0f1ed0df820c8.png

【解决过程】

1.参考:

好像比如把要修改值的变量,加到Watch列表里面去。

2.所以去试试,

67f802fa61e2986ecf722bda9a80b5cc.png

然后去修改值:

Change Value

90424edacbd5b03d8535b25b3b1f8c41.png

填入新的值:Thu Sep 17 14:22:08 CST 2043

然后OK:

4f29ac59b9668461cabb4f835f070b39.png

结果无法修改,cookieExpiryDate还是之前的null。

3.然后再去试试,找找另外别的cookie的expiry的值是什么,然后再参考去修改。

d95916c6c995e93558c7cc2358c2c71f.png

然后再去填入

H_PS_PSSID

的expiry的新值:

45e4baf9aef874cb4abfd1bc1eb639ab.png

结果却是超过int限制:

5b6ec8575b8eac3f6ddbe41b68462449.png

4.参考:

提到的:

去试试表达式:new Date("Thu Sep 17 14:22:08 CST 2043");

即:

718b97956b63f04bac0ae49c03394329.png

看看是否有效。

结果都是错误:

42de12b36ab216b2cafaed4097162019.png

5.然后想想,是不是少了return,所以去试试:

待会再试。

6.去把代码输入到Eclipse中:Date newExpiryDate = new Date("Thu Sep 17 14:22:08 CST 2043");

结果显示:The constructor Date(String) is deprecated

详见:

7.搞定了如何用代码设置时间后,再去试试:new GregorianCalendar(2043, 9, 17, 14, 22, 8);

即:

b4ed48424ebce0105f2553e03aaf0dea.png

结果是,还是不行。

8.再去试试上面的,加上return看看:return new GregorianCalendar(2043, 9, 17, 14, 22, 8);

即:

0df0598ced947cf64c2116b1fde42181.png

结果是,还是不行。

【总结】

至此,还是没搞定,在Eclipse调试期间,如何去更改一个CookieStore中的一个cookie的cookieExpiryDate的值。

算了,还是另外,通过手动去写代码,去设置此Expiry值吧。

最后是用如下代码://do some workaround to makesure here cookie H_PS_PSSID not expire

//[version: 0][name: H_PS_PSSID][value: 3359_3341_2776_1424_2981][domain: .baidu.com][path: /][expiry: null]

//Date newExpiryDate = new Date("Thu Sep 17 14:22:08 CST 2043");

//Date newExpiryDate = new Date();

Date newExpiryDate = new Date(2043, 9, 17);

//Calendar newExpiryCalendar = new Calendar();

//Calendar newExpiryCalendar = new GregorianCalendar();

//Calendar newExpiryCalendar = new GregorianCalendar(2043, 9, 17);

//Calendar newExpiryCalendar = new GregorianCalendar(2043, 9, 17, 14, 22, 8);

BasicClientCookie hPsPssidCookie = null;

int hPsPssidCookieIdx = 0;

curCookieList = crl.getCurCookieList();

for(Cookie ck : curCookieList)

{

if(ck.getName().equalsIgnoreCase("H_PS_PSSID"))

{

hPsPssidCookieIdx = curCookieList.indexOf(ck);

hPsPssidCookie = (BasicClientCookie) ck;

hPsPssidCookie.setExpiryDate(newExpiryDate);

ck = hPsPssidCookie;

break;

}

}

crl.setCurCookieList(curCookieList);

基本实现了,手动去修改那个特殊的cookie的expiry的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值