Cookies 在Ocamlnet中处理cookie

Cookies 在Ocamlnet中处理cookie,cookies,http-headers,ocaml,Cookies,Http Headers,Ocaml,我正在尝试编写一个bot,它提取一些只对经过身份验证的用户可用的数据。我选择了ocaml(3.12.1节)和ocamlnet(3.6.5节)。脚本的第一部分向网站发送POST请求,通过我收到的html,我可以判断身份验证是否有效(p1和p2在这个代码示例中的值显然不是我正在使用的值) 然后我提取存储php会话id、帐户名、密码哈希等的cookie,将它们放在下一个请求的头中并运行它。这就是我遇到麻烦的地方:我系统地得到了每个匿名访问者都能得到的无聊页面 let cookies = Header.

我正在尝试编写一个bot,它提取一些只对经过身份验证的用户可用的数据。我选择了
ocaml(3.12.1节)
ocamlnet(3.6.5节)
。脚本的第一部分向网站发送POST请求,通过我收到的html,我可以判断身份验证是否有效(
p1
p2
在这个代码示例中的值显然不是我正在使用的值)

然后我提取存储php会话id、帐户名、密码哈希等的cookie,将它们放在下一个请求的头中并运行它。这就是我遇到麻烦的地方:我系统地得到了每个匿名访问者都能得到的无聊页面

let cookies = Header.get_set_cookie post_call#response_header in
let get_call = new get "http://www.kraland.org/main.php?p=1" in
let header = get_call#request_header `Base in
Header.set_set_cookie header cookies;
pipeline#add get_call;
pipeline#run();
当我打印cookies的内容时,我确实得到了一些奇怪的东西:我希望cookies的域是
kraland.org
,但事实似乎并非如此。这是我与输出一起使用的打印命令:

List.iter (fun c -> Printf.printf "%.0f [%s%s:%b] %s := %s\n"
  (match c.cookie_expires with None -> -1. | Some f -> f)
  (match c.cookie_domain with None -> "" | Some s -> s)
  (match c.cookie_path with None -> "" | Some s -> s)
  c.cookie_secure c.cookie_name c.cookie_value)
  cookies;

-1 [/:false] PHPSESSID := 410b97b0536b3e949df17edd44965926
1372719625 [:false] login := username
1372719625 [:false] id := myid
1372719625 [:false] password := fbCK/0M+blFRLx3oDp+24bHlwpDUy7x885sF+Q865ms=
1372719625 [:false] pc_id := 872176495311
编辑:我尝试过使用Haskell的Http导管浏览器来解决这个问题,它的工作方式就像一个魔咒

List.iter (fun c -> Printf.printf "%.0f [%s%s:%b] %s := %s\n"
  (match c.cookie_expires with None -> -1. | Some f -> f)
  (match c.cookie_domain with None -> "" | Some s -> s)
  (match c.cookie_path with None -> "" | Some s -> s)
  c.cookie_secure c.cookie_name c.cookie_value)
  cookies;

-1 [/:false] PHPSESSID := 410b97b0536b3e949df17edd44965926
1372719625 [:false] login := username
1372719625 [:false] id := myid
1372719625 [:false] password := fbCK/0M+blFRLx3oDp+24bHlwpDUy7x885sF+Q865ms=
1372719625 [:false] pc_id := 872176495311