加载cookie并使用curl发布数据

时间:2011-05-16 15:01:38

标签: php cookies curl http-post

如果我加载了cookie,我就可以访问需要cookie的页面,如下所示:

$cookie = ".ASPXAUTH=Secret";
curl_setopt($ch, CURLOPT_COOKIE, $cookie);

此处没问题,我可以运行curl_exec,并查看需要Cookie的页面。

如果我还想发送一些帖子数据,我可以这样做:

$data = array(
     'index' => "Some data is here"
);

$cookie = ".ASPXAUTH=Secret";

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);

我在本地服务器上设置了dump script,看它是否正常工作。如果我发送 Cookie,我可以在http标头中看到它,如果我发送 帖子数据,我可以看到帖子数据。

当我发送两者时,我只看到cookie。

为什么?

1 个答案:

答案 0 :(得分:1)

我终于找到了解决方案。

如果我手动设置cookie,使用自定义http_header,我就能得到想要的结果。

curl_setopt($ch, CURLOPT_HTTPHEADER, array("Cookie:.ASPXAUTH=secretData"));

甚至尝试过不同的服务器 - 结果相同。