基本認証でPHP curlリクエストに問題があります。
コマンドラインcurlは次のとおりです。
curl -H "Accept: application/product+xml" "https://{id}:{api_key}@api.domain.com/products?limit=1&offset=0"
私は次の方法でカールヘッダーを設定してみましたが、うまくいきません
Authorization: Basic id:api_key
or
Authorization: Basic {id}:{api_key}
「リクエストの認証パラメータが見つからないか無効です」という応答を受け取りましたが、コマンドラインcurlで動作している適切なidとapi_keyを使用しました(テストしました)
私を助けてください。
次のコードを試してください:
$username='ABC';
$password='XYZ';
$URL='<URL>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$URL);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
$result=curl_exec ($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get status code
curl_close ($ch);
これを試してもらえますか、
$ch = curl_init($url);
...
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
...