2011-05-16 53 views
0

发布数据。如果我在cookie中加载,我能去的页面,需要饼干,这样的:加载一块饼干卷曲

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

没有问题就在这里,我可以运行curl_exec,和请参阅需要cookies的页面。

如果我也想送一些数据后,我可以这样做:

$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。

为什么?

+0

ummm脚本是什么样的,你发送这些curl请求? – Neal 2011-05-16 15:08:46

+0

@Neal我目前只在本地服务器上发布转储脚本。脚本在这里找到http://pastebin.com/37mDNNHr – Ragnar123 2011-05-16 15:11:51

+0

什么是php://输入的内容?也许根据curl如何发送Content-Type,HTTP内容不会被正确解析为$ _POST变量。 – 2011-05-16 15:37:33

回答

1

我终于找到了一个解决方案。

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

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

即使在不同的服务器上试过 - 结果相同。