如何将此 HipChat curl post 转换为 C#?

How to convert this HipChat curl post to C#?

我正在尝试为 HipChat 创建通知,不幸的是,他们的 HipChat-CS (https://github.com/KyleGobel/Hipchat-CS) nuget 包不起作用。因此,我想研究如何手动发送通知,但他们的示例使用的是我不熟悉的 cURL。我想以他们的例子为例,并将其变成我可以在我的 c# 应用程序中使用的东西。任何帮助将不胜感激!下面是 cURL 示例:

curl -d '{"color":"green","message":"My first notification (yey)","notify":false,"message_format":"text"}' -H 'Content-Type: application/json' https://organization.hipchat.com/v2/room/2388080/notification?auth_token=authKeyHere

再次感谢!

阿杰

您可以使用 HttpWebRequest 建立连接并发送您的 json 负载。您需要将 System.Net 添加到您的使用指令中。

string jsonContent = "{\"color\":\"green\",\"message\":\"My first notification (yey)\",\"notify\":false,\"message_format\":\"text\"}";
byte[] jsonBytes = Encoding.ASCII.GetBytes(jsonContent);
var request = (HttpWebRequest) WebRequest.Create("https://organization.hipchat.com/v2/room/2388080/notification?auth_token=authKeyHere");
request.ContentType = "application/json";
request.Method = "POST";
request.ContentLength = jsonBytes.Length;

using (var reqStream = request.GetRequestStream())
{
    reqStream.Write(jsonBytes, 0, jsonBytes.Length);
    reqStream.Close();
}

 WebResponse response = request.GetResponse();
//access fields of response in order to get the response data you're looking for.

为了使用HipChat-CS,我不得不手动卸载自动下载的依赖包ServiceStack,并手动安装特定版本的ServiceStack,4.0.56,。我这样做后一切正常。