C で curl を使用して、複数のバージョンを持つ Web API に HTTP 要求を送信しています。ユーザー エージェントに応じて、Web サーバーは 301 応答を送信し、curl はリダイレクトに従おうとします。これはすべて設計どおりに機能しますが、壊れる特別なケースがあります。
認証リクエストを送信していて、ドメイン名を指定していない場合 ( https://test.example.com/serverではなくhttps://test.example/server )、Web サーバーはアプリをhttpsにリダイレクトします。 //test.example.com/serverv2、ドメイン名を追加します。しかし、リダイレクト後の 2 回目の試行からの応答は 401、「ヘッダーから資格情報を解析できませんでした」です。ドメイン名を省略しないと、リダイレクトを含め、すべてが期待どおりに機能し、承認が成功します。
私の質問は次のとおりです。これはcurlの組み込み機能ですか、それともバグですか? 次に、この特殊なケースを処理するための好ましい方法はありますか?