以firefox为例
取出cookie
cookie string 方式
提取出HTTP的Cookie头部字段,假设为 “name1=value1; name2=value2”
1) 从firefox的HTTP请求记录中直接提取Cookie
或者
2) 从cookies.sqlite文件中提取指定域名的Cookie信息拼接成cookie string
cookie file 方式
导出 Netscape HTTP Cookie File 格式的文本文件,假设文件名为 cookie.txt
1) 使用 extract_cookies.sh 工具自动导出
或者
2) firefox安装 Export Cookies 扩展手动导出
curl 使用上述 cookie
$ curl -b "name1=value1; name2=value2" "http://m.jjwxc.net/vip/217747/33" -o 33.html
$ curl -b cookie.txt -c cookie.txt "http://m.jjwxc.net/vip/217747/33" -o 33.html
perl 的 HTTP::Tiny 模块使用上述cookie
HTTP::Tiny 速度比较快,Cookie功能可以直接使用HTTP::CookieJar的接口,也可以自定义支持add和cookie_header的简单接口
HTTP::CookieJar
HTTP::CookieJar的load_cookies负责导入cookie数组,单行cookie示例
PSTM=1512280000; Expires=Fri, 21 Dec 2085 10:26:40 GMT; Domain=baidu.com; Path=/; Creation_Time=1512285153; Last_Access_Time=1512285153
阅读 HTTP::CookieJar 的源码,add函数负责增加name=value字段(不对cookie做调整则可以忽略),cookie_header负责提供”name1=value1; name2=value2”格式的cookie_string
示例如下