У меня есть успешное соединение с использованием cURL, но я пытаюсь загрузить файл и его не работает. Я знаю, что это файл cookie, потому что когда я открываю загруженный файл, он содержит авторизованное обязательное сообщение. Однако начальная проверка подлинности работает. любые мыслиphp cURL cookie save empty
// 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
, если иногда работайте, а иногда нет, это значит, что это связано с тем сервером, который вы пытаетесь получить. Я не могу сказать ничего. Проанализируйте его и посмотрите, чего не хватает. – safarov
Если вы не используете cookie, который вы получите, удалите строку 'CURLOPT_COOKIEFILE' – safarov