我使用cURL進行了成功的連接,但我試圖下載一個文件,但它不工作。我知道這是cookie,因爲當我打開下載的文件時,它包含授權的必需消息。初始身份驗證正在運行。任何想法php cURL cookie保存爲空
// Create a curl handle to a non-existing location
$ch = curl_init('https://xxxx/');
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// ENABLE HTTP POST
curl_setopt ($ch, CURLOPT_POST, 1);
// SET POST PARAMETERS : FORM VALUES FOR EACH FIELD
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'user=xxx&password=xxx');
// IMITATE CLASSIC BROWSER'S BEHAVIOUR : HANDLE COOKIES
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$fp = fopen("status.xml", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
if(curl_exec($ch) === false)
{
echo 'Curl error: ' . curl_error($ch);
}
else
{
echo 'Operation completed without any errors';
}
curl_close($ch);
fclose($fp);
其實我得到它的工作,但奇怪的事情正在發生。下載的文件包含登錄頁面,而不是我想要下載的xml文件。我究竟做錯了什麼。謝謝 – user1019144 2012-03-28 21:50:23
如果有時工作,有時不工作,這意味着它與您試圖獲取數據的服務器有關。我不能說任何話。分析它,看看你丟失了什麼 – safarov 2012-03-28 21:52:37
如果你不使用cookie,你刪除'CURLOPT_COOKIEFILE'行 – safarov 2012-03-28 21:53:47