curlの代わりに.NETクラス(httpWebRequest)を使用してデータベースを複製しようとしています。残念ながら、cURLは機能しますが、.NETの(おそらく)同じ構文が404 "Unauthorized to access orcreatedatabase"エラーで失敗します。以下は私のコードです。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("sourceURL");
request.Method = "POST";
request.ContentType = "application/json";
long ticks = DateTime.UtcNow.Ticks;
string json = "{ \"_id\":\"database_replicate" + ticks + "\", \"source\":\"sourceURL/database\", \"target\":\"database\", \"create_target\":true, \"user_ctx\": { \"roles\": [\"_admin\"] } }";
using (var writer = new StreamWriter(request.GetRequestStream()))
{
writer.Write(json);
writer.Close();
}
次に、ここで、応答で失敗します。
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
ローカルホストとの間で複製しています。request.Credentialsを使用してクレデンシャルを渡そうとしましたが、問題は変わりません。また、URLでクレデンシャルを明示的に渡すこともありません。