【发布时间】:2012-08-07 18:08:53
【问题描述】:
我正在尝试使用 .NET 类而不是 curl 命令行来复制 Couch 数据库。我以前从未使用过 WebRequest 或 Httpwebrequest,但我正在尝试使用它们通过以下脚本发出发布请求。
这是用于 couchdb 复制的 JSON 脚本(我知道这是可行的):
{ ""_id"":"database_replicate8/7/12", "source":sourcedb, ""target"":"targetDB", ""create_target"":true, ""user_ctx"": { ""roles"": ["myrole"] } }
上面的脚本被放入一个文本文件,sourcefile.txt。我想使用 .NET 功能将其放入 POST Web 请求中。
经过研究,我选择使用 httpwebrequest 类。以下是我目前所拥有的——我是从http://msdn.microsoft.com/en-us/library/debx8sh9.aspx 得到的
HttpWebRequest bob = (HttpWebRequest)WebRequest.Create("sourceDBURL");
bob.Method = "POST";
bob.ContentType = "application/json";
byte[] bytearray = File.ReadAllBytes(@"sourcefile.txt");
Stream datastream = bob.GetRequestStream();
datastream.Write(bytearray, 0, bytearray.Length);
datastream.Close();
我这样做对吗?我对网络技术比较陌生,并且仍在学习 http 调用的工作原理。
【问题讨论】:
标签: c# .net httpwebrequest couchdb