我对新遗物的申请很少。当我输入我的api密钥并点击SEND REQUEST时,我会以json格式得到我的回复。
curl -X GET 'https://api.newrelic.com/v2/applications.json' \
-H 'X-Api-Key:<api key>' -i
这是请求的内容。我不知道上面的代码是什么。好吧,我需要在C#中读取返回的json消息,然后可以反序列化json消息。
我试过这个
public ActionResult Index()
{
WebRequest wr = WebRequest.Create("https://api.newrelic.com/v2/applications.json");
wr.ContentType = "application/json";
wr.Method = "GET";
//wr.Headers["X-Parse-REST-API-Key"] = "<my api key>";
wr.Headers.Add("Authorization", "<my api key>");
using (WebResponse response = wr.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
int x = 10;
}
}
但我得到500错误。
答案 0 :(得分:3)
您的代码非常接近工作。您只需稍微更改请求标头,如下所示(并替换您自己的api密钥)。然后,正如您所说,您将需要反序列化json。我已经测试了这段代码,它返回了相当于curl命令。
WebRequest wr = WebRequest.Create("https://api.newrelic.com/v2/applications.json");
wr.ContentType = "application/json";
wr.Method = "GET";
wr.Headers.Add("X-Api-Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
using (WebResponse response = wr.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
byte[] bytes = new Byte[10000];
int n = stream.Read(bytes, 0, 9999);
string s = System.Text.Encoding.ASCII.GetString(bytes);
}
}
您可能知道,您可以使用我们的api explorer来形成提取您感兴趣的数据所需的http请求。然后您应该能够将请求从api explorer复制到您的c#代码。请参阅此处的api资源管理器文档:https://docs.newrelic.com/docs/features/getting-started-with-new-relics-api-explorer。