php cURL cookie сохранение пусто - PullRequest
0 голосов
/ 29 марта 2012

Я установил успешное соединение с использованием 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);

Ответы [ 2 ]

1 голос
/ 15 ноября 2012

Информация о файлах cookie просто сохраняется в файл после закрытия дескриптора, как сказано в руководстве:

CURLOPT_COOKIEJAR => Имя файла, в который сохраняются все внутренние куки, когда дескриптор закрытнапример, после вызова curl_close.

Manual: curl_setopt Кроме того, вам может потребоваться принять это во внимание:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
1 голос
/ 29 марта 2012

CURLOPT_COOKIEFILE для чтения файлов cookie, CURLOPT_COOKIEJAR для записи.

curl_setopt ($ch, CURLOPT_COOKIEJAR, '/path/to/cookie.txt');

Убедитесь, что у вас есть полный путь к файлу cookie и есть разрешение на запись

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...