qimaguang 发表于 2013-05-07 16:08

Java不使用第三方类库实现REST调用

本帖最后由 qimaguang 于 2013-05-07 16:10 编辑

  目前REST接口使用越来越广泛,也有很多实现REST调用的第三方类库,但是有时在项目中只是调用一个简单的REST接口获取一些数据,那么就没有必要使用第三方类库了,可以直接使用java类库来实现,比较简单,代码如下:

  

  import java.io.*;

  import java.net.*;

  public class RESTUtil {

  public String load(String url,String query) throws Exception

  {

  URL restURL = new URL(url);

  HttpURLConnection conn = (HttpURLConnection) restURL.openConnection();

  conn.setRequestMethod("POST");

  conn.setDoOutput(true);

  conn.setAllowUserInteraction(false);

  PrintStream ps = new PrintStream(conn.getOutputStream());

  ps.print(query);

  ps.close();

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

  String line,resultStr="";

  while(null != (line=bReader.readLine()))

  {

  resultStr +=line;

  }

  bReader.close();

  return resultStr;

  }

  publicstatic void main(String []args) {

  try {

  RESTUtil restUtil = new RESTUtil();

  String resultString = restUtil.load("//http://www.cdtarena.com/TrafficflowCommon/Handler.ashx","param1=d&param2=e");

  } catch (Exception e) {

  // TODO: handle exception

  System.out.print(e.getMessage());

  }

  }

  }

  import java.io.*;

  import java.net.*;

  public class RESTUtil {

  public String load(String url,String query) throws Exception

  {

  URL restURL = new URL(url);

  HttpURLConnection conn = (HttpURLConnection) restURL.openConnection();

  conn.setRequestMethod("POST");

  conn.setDoOutput(true);

  conn.setAllowUserInteraction(false);

  PrintStream ps = new PrintStream(conn.getOutputStream());

  ps.print(query);

  ps.close();

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

  String line,resultStr="";

  while(null != (line=bReader.readLine()))

  {

  resultStr +=line;

  }

  bReader.close();

  return resultStr;

  }

  publicstatic void main(String []args) {

  try {

  RESTUtil restUtil = new RESTUtil();

  String resultString = restUtil.load("http://58.33.45.112:port/TrafficflowCommon/Handler.ashx","param1=d&param2=e");

  } catch (Exception e) {

  // TODO: handle exception

  System.out.print(e.getMessage());

  }

  }

  }

成都计算机培训之java培训、成都php培训找最专业的成都IT培训机构成都达内。!成都java培训官网
页: [1]
查看完整版本: Java不使用第三方类库实现REST调用