Ich habe eine erfolgreiche Verbindung mit cURL gemacht, aber ich versuche, eine Datei herunterzuladen und es funktioniert nicht. Ich weiß, es ist der Cookie, denn wenn ich die heruntergeladene Datei öffne, enthält sie eine autorisierte erforderliche Nachricht. Die anfängliche Authentifizierung funktioniert jedoch. irgendwelche Gedankenphp cURL Cookie Speichern leer
// 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);
Eigentlich habe ich es zu arbeiten, aber etwas seltsam passiert. Die heruntergeladene Datei enthält die Anmeldeseite und nicht die XML-Datei, die ich herunterladen möchte. Was mache ich falsch. Danke – user1019144
wenn manchmal arbeiten und manchmal nicht, das heißt es bezieht sich auf den Server, den Sie versuchen, Daten zu erhalten. Ich kann nichts sagen. Analysieren Sie es und sehen Sie, was Sie vermissen – safarov
Wenn Sie nicht Cookie verwenden, dass Sie löschen CURLOPT_COOKIEFILE Zeile – safarov