Redmine API に接続したい。ページはファイルによって保護されてい.htaccess
ます。ユーザー資格情報 (名前 + パスワード) が と Redmine で同じで.htaccess
ある限り、問題はありません。
ええと... 2 人のチームメイトが異なる資格情報 (エラー コード: 401, not authorized
) を使用しており、それらを変更したくないだけです。
.htaccess
実際、これは、 (資格情報で) 合格しないか、合格.htaccess
してもデータで Redmine を使用できないためだと思います。
私は何時間も (まあ、少なくとも 12:30 時から) 探していましたが、この問題を解決できませんでした。.htaccess
および API 資格情報を正しく渡す方法がわかりません。
私のコード:
$sURL = 'https://myserver/redmine/';
$sAction = 'projects.json';
$sApiUser = 'user_name';
$sApiPass = 'user_pass';
$sHtAccUser = 'htacc_user';
$sHtAccPass = 'htacc_pass';
#$sURL = sprintf('https://%s:%s@myserver/redmine/',$sUser,$sPass);
$aOptions = array(
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_USERPWD => $sUser.':'.$sPass,
CURLOPT_PORT => 443,
CURLOPT_CONNECTTIMEOUT => 4,
CURLOPT_TIMEOUT => 6,
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_SSL_VERIFYHOST => FALSE,
CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
CURLOPT_HEADER => FALSE,
#CURLOPT_HTTPHEADER => array('Authorization: Basic '.base64_encode($sHtAccUser.':'.$sHtAccPass)),
CURLOPT_FOLLOWLOCATION => TRUE,
CURLOPT_URL => $sURL.$sAction.$sGetParamQuery);
$ch = curl_init();
if($ch === false)
{
die('Failed to create curl object');
}
curl_setopt_array($ch,$aOptions);
$mResult = curl_exec($ch);
$aCurlInfo = curl_getinfo($ch);
$iHTTPStatus = (int) $aCurlInfo['http_code'];
curl_close($ch);