2011-05-16 69 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")); 

即使在不同的服務器上試過 - 結果相同。