搜索
查看: 1612|回复: 1

netscape/curl/miniblink/webkit cookie文件格式解析

[复制链接]

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2017-12-13 20:20:00 | 显示全部楼层 |阅读模式
先试一下miniblink新增的获取所有cookie数据的函数:
import win.ui;
/*DSG{{*/
var winform = win.form(text="miniblink wkeGetAllCookie")
/*}}*/

import web.blink.form;
var wb = web.blink.form( winform );

wb.go(
"http://www.baidu.com")
winform.show();   

win.delay(100);
wb.enumCookie(
   
function(sData,pData){
        wb.document.writeln(sData+
"<br>")
    }
)

win.loopMessage();

发现获取到cookie格式如下:
  1. .baidu.com TRUE / FALSE 3660650963 BAIDUID DE7A2164C2B2681A4549B2E8FD3EEA3:FG=1
  2. .baidu.com TRUE / FALSE 3660650963 PSTM 151317317
复制代码
这与miniblink,curl储存的cookie文件格式一致( netscape cookie文件格式 )。

我在标准库中增加了一个库: fsys.cookies 用于解析这种格式的文件,
并且在 web.blink中新增有了个 cookieData函数用于调用
fsys.cookies,示例代码:
import win.ui;
/*DSG{{*/
var winform = win.form(text="miniblink wkeGetAllCookie")
/*}}*/

import web.blink.form;
var wb = web.blink.form( winform );

wb.go(
"http://www.baidu.com")
winform.show();   

win.delay(100);
var cookies = wb.cookieData().get("baidu.com");

import console
console.dumpJson(cookies)

win.loopMessage();
  
webkit扩展库也实现了相同的功能,示例:
import win.ui;
/*DSG{{*/
var winform = win.form(text="webkit 获取所有网站cookie")
/*}}*/

import web.kit.form;
var wb = web.kit.form( winform );

wb.go(
"http://www.baidu.com")
winform.show();   

win.delay(1000);

//写网站cookie
wb.cookieSet(   
    name =
"test";
    value =
"abc";
    domain =
".baidu.com";
    path =
"/";
    expires = time().addday(30)
)

//输出所有网站cookie
winform.msgbox( wb.cookieData().stringify() )

//转换为HTTP请求头格式
var cookies  = wb.cookieData().getCookies("baidu.com")

//首先取浏览器的userAgent,假装是浏览器
import inet.http;
var http = inet.http(wb.script.navigator.userAgent);

//禁用默认的cookie管理
http.disableCache();
http.disableCookies();

//把浏览器的cookie加上去
http.addHeaders ={cookie = cookies }

//跟浏览器共话
var str = http.get(wb.location);

win.loopMessage();


回复

使用道具 举报

6

主题

50

帖子

369

积分

二级会员

Rank: 3Rank: 3

积分
369
发表于 2017-12-13 22:18:44 | 显示全部楼层
搞网络相关的软件,又方便了很多,感谢~!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-10-17 16:30 , Processed in 0.062500 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表