我正在尝试使用 .NET 类(httpWebRequest)而不是 curl 来复制数据库。不幸的是,cURL 有效,但 .NET 中的(可能)相同的语法失败,出现 404“未授权访问或创建数据库”错误。下面是我的代码。
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 中显式传递凭据。