Curl-Anfrage mit Digest-Authentifizierung in PHP zum Herunterladen von Bitbucket Private Repository

Ich versuche diese Anfrage auf PHP zu machen, um die letzte Quelle aus meinem privaten Bitbucket-Repository herunterzuladen:

<code>curl --digest --user user:pass https://bitbucket.org/user/repo/get/tip.zip -o test.zip
</code>

In der Kommandozeile ist es ok, der Dateidownload ist perfekt, aber in PHP funktioniert das nicht, mein PHP-Code:

<code>$out = fopen('test.zip', 'w+');
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($ch, CURLOPT_USERPWD, 'user:pass');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FILE, $out);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_URL, 'https://bitbucket.org/user/repo/get/tip.zip');
curl_exec($ch);
</code>

Dies ist die Antwort, die Anmeldung ist ungültig und der Server leitet zur Anmeldeseite weiter:

<code>Error CURL: '' 
Error number: 0
Array
(
    [url] => https://bitbucket.org/account/signin/?next=/user/repo/get/tip.tar.gz
    [content_type] => text/html; charset=utf-8
    [http_code] => 200
    [header_size] => 1099
    [request_size] => 194
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 1
    [total_time] => 1.055465
    [namelookup_time] => 1.5E-5
    [connect_time] => 0.102969
    [pretransfer_time] => 0.216164
    [size_upload] => 0
    [size_download] => 10049
    [speed_download] => 9520
    [speed_upload] => 0
    [download_content_length] => 10049
    [upload_content_length] => 0
    [starttransfer_time] => 0.527512
    [redirect_time] => 0.527519
    [redirect_url] => 
)
</code>

Weiß jemand, wie ich mein Problem lösen kann? Vielen Dank!!!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage