从Java程序在Advanced Rest Client中运行URL

时间:2015-05-14 05:18:30

标签: java rest google-chrome rest-client

我有一个API的URL,如果直接在chrome的高级rest客户端中运行,它可以正常工作。我希望此URL从我自己的REST API代码触发,该代码应在高级rest客户端中运行并将结果存储在变量中。 我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

使用Apache HttpClient库https://hc.apache.org/或其他一些第三方开源库来轻松编码。 如果你正在使用apache httpClient lib,请谷歌搜索示例代码。这里有一些小例子。

  HttpClient client = new DefaultHttpClient();
  HttpGet request = new HttpGet('http://site/MyrestUrl');
  HttpResponse response = client.execute(request);
  BufferedReader rd = new BufferedReader (new InputStreamReader(response.getEntity().getContent()));
  String line = '';
  while ((line = rd.readLine()) != null) {
    System.out.println(line);
  }
  return (rd);

如果使用第三方jar有任何限制,你也可以使用普通的java。

  HttpURLConnection conn = null;
   try {

    URL url = new URL("http://site/MyRestURL");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setRequestMethod("GET");
    conn.setRequestProperty("Accept", ""); // add your content mime type

    if (conn.getResponseCode() != 200) {
        throw new RuntimeException("Failed : HTTP error code : "
                + conn.getResponseCode());
    }

    BufferedReader br = new BufferedReader(new InputStreamReader(
        (conn.getInputStream())));

    String output;
    while ((output = br.readLine()) != null) {
        System.out.println(output);
    }

    conn.disconnect();

  } catch (Exception e) {

    e.printStackTrace();

  } 

答案 1 :(得分:0)

在普通的java中,尝试这样。我的建议请尝试使用良好的开源休息/ http客户端。网中有很多例子。

  String httpsUrl = "https://www.google.com/";
  URL url;
  try {
     url = new URL(httpsUrl);
     HttpsURLConnection con = HttpsURLConnection)url.openConnection();
    } catch (MalformedURLException e) {
     e.printStackTrace();
  } catch (IOException e) {
     e.printStackTrace();
  }