我试图从我的私人到位桶仓库做PHP的这个请求,下载的最后一个来源卷曲要求:在PHP消化AUTH下载到位桶私人仓库
curl --digest --user user:pass https://bitbucket.org/user/repo/get/tip.zip -o test.zip
在命令行其行,文件下载完美的,但是在PHP不工作,这是我的PHP代码:
$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);
这是响应,登录其无效,服务器重定向到登录页面:
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] =>
)
任何人都知道我可以如何解决我的问题? 非常感谢!
你尝试使用刚刚从卷曲(内PHP)基本身份验证? – ManseUK 2012-04-25 16:15:34
嗨,不要使用curl_setopt($ ch,CURLOPT_HTTPAUTH,CURLAUTH_BASIC);'我尝试了没有'CURLOPT_HTTPAUTH'选项而不是 – 2012-04-26 07:30:13
嗨,我刚刚试过你的例子,它的工作原理...所以,也许你犯了一个错字你的账户名,密码或回购? – Zombaya 2012-04-28 20:54:50