我New Relic REST API
第一次使用curl命令:
curl -X GET 'https://api.newrelic.com/v2/applications/appid/metrics/data.json' \
-H 'X-Api-Key:myApiKey' -i \
-d 'names[]=EndUser/WebTransaction/WebTransaction/JSP/index.jsp'
我想在Java Servlet中发送此命令,并从响应中获取一个JSON对象以进行解析,最好的解决方案是什么?
HttpURLConnection?
Apache httpclient?
我尝试了几种不同的解决方案,但到目前为止没有任何效果,我可以找到的大多数示例都使用了已贬值的DefaultHttpClient
这是我的尝试之一的示例:
String url = "https://api.newrelic.com/v2/applications.json";
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("X-Api-Key", "myApiKey");
conn.setRequestMethod("GET");
JSONObject names =new JSONObject();
try {
names.put("names[]=", "EndUser/WebTransaction/WebTransaction/JSP/index.jsp");
} catch (JSONException e) {
e.printStackTrace();
}
OutputStreamWriter wr= new OutputStreamWriter(conn.getOutputStream());
wr.write(names.toString());
编辑
我已经修改了代码,现在可以正常工作了,谢谢。
String names = "names[]=EndUser/WebTransaction/WebTransaction/JSP/index.jsp";
String url = "https://api.newrelic.com/v2/applications/myAppId/metrics/data.json";
String line;
try (PrintWriter writer = response.getWriter()) {
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty("X-Api-Key", "myApiKey");
conn.setRequestMethod("GET");
conn.setDoOutput(true);
conn.setDoInput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(names);
wr.flush();
BufferedReader reader = new BufferedReader(new
InputStreamReader(conn.getInputStream()));
while ((line = reader.readLine()) != null) {
System.out.println(line);
writer.println(HTML_START + "<h2> NewRelic JSON Response:</h2><h3>" + line + "</h3>" + HTML_END);
}
wr.close();
reader.close();
}catch(MalformedURLException e){
e.printStackTrace();
}
问题内容: 我从来没有做过卷曲,所以需要一些帮助。我已经尝试通过示例来解决这个问题,但是我无法理解! 我有一个curl命令,可以从linux(ubuntu)命令行成功运行,该命令行通过api将文件放入Wiki。 我需要将此curl命令合并到我正在构建的PHP脚本中。 如何转换curl命令,使其在PHP脚本中起作用? cookie.txt包含身份验证,但是我不会在脚本中将其以明文形式出现,因为这将仅
问题内容: 我是否可以使用Java 将转换为中的等效值。 我当然可以用一个大的声明来做到这一点,但是如果可能的话,我想避免这样做。 鉴于此文档: http://download.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html 我不太希望没有ifs或case语句就可以做到这一点。 问题答案: 希望您认识到,它不同于Java 1.
问题内容: 我有以下CURL请求,谁能请我确认subesquest HTTP请求是什么? 会是这样吗? 任何人都可以帮助我将上述curl请求完全转换为httpreq。 提前致谢。 苏维 问题答案: 有很多方法可以实现这一目标。在我看来,以下一项是最简单的,同意它不是很灵活,但是可以工作。
问题内容: 我有curl命令: 我想在Java API中创建HTTP请求,该操作将执行相同的操作。可以在本README中找到该curl命令。它用于开始在RabbitMQ上记录日志。回应并不重要。 现在,我创建了这样的内容(我删除了不太重要的行,例如捕获了异常等),但是不幸的是,它不起作用: 完整代码 问题答案: 这是最终的解决方案:
问题内容: 我正在尝试使用jquery ajax进行api调用,我正在使用curl进行api,但是我的ajax抛出了HTTP 500 我有一个curl命令,看起来像这样: 我像这样尝试过ajax,但无法正常工作: 我想念什么? 问题答案: 默认情况下,$。ajax()将转换为查询字符串(如果还不是字符串),因为这里是一个对象,请将其更改为字符串,然后设置,这样它就不会转换为查询字符串。