Curl request com digest auth em PHP para download do repositório privado Bitbucket
Eu estou tentando fazer este pedido no php, para baixar a última fonte do meu repositório privado Bitbucket:
<code>curl --digest --user user:pass https://bitbucket.org/user/repo/get/tip.zip -o test.zip </code>
na linha de comando está ok, o download do arquivo é perfeito, mas em php não funciona, esse meu código php:
<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>
Esta é a resposta, o login é inválido e o servidor redireciona para a página de login:
<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>
Alguém sabe como posso resolver o meu problema? Muito obrigado!!!