http 编程

String strUrl = "http://127.0.0.1:8088/pay/alifpWebConnect.do";
  String content ="<Finance><Message id=\"2013040208221748995\"><RRReq id=\"RRReq\"><versions>8.0.1</versions><inst>Test</inst><certId>2007072500</certId><serialNos>4567890123456789012346</serialNos><date>20131013 16:02:19</date><charge>4</charge><amount>100</amount><currency>1</currency></RRReq>

<Message></Finance>";
   /*
       * URL请求的类别分为二类,GET与POST请求。二者的区别在于: 
       * a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, 
      * b:) post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。
       */ 

  URL url = new URL(strUrl);
  HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
  // 设定请求的方法为"POST",默认是GET 
  httpConn.setRequestMethod("POST");
  httpConn.setRequestProperty("Content-Type", "application/xml"); // 设置请求类型
  //设置文件长度
  httpConn.setRequestProperty("Content-Length",
    Integer.toString(content.length()));
  //设置字符集
  httpConn.setRequestProperty("Charset", "UTF-8");

  // 设置是否从httpUrlConnection读入,默认情况下是true;
  httpConn.setDoInput(true);
  // 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在 
  // http正文内,因此需要设为true, 默认情况下是false;
  httpConn.setDoOutput(true);

  httpConn.connect();
  System.out.print("connected!");
  
  /*
   *  对HttpURLConnection对象的一切配置都必须要在connect()函数执行之前完成。
  * 而对outputStream的写操作,又必须要在inputStream的读操作之前。
  * 这些顺序实际上是由http请求的格式决定的。
  * */

  
  PrintWriter out = new PrintWriter(httpConn.getOutputStream());
  out.println(content);

  out.flush();
  out.close();
  System.out.print("sended result!");

  BufferedReader reader = new BufferedReader(new InputStreamReader(
    httpConn.getInputStream()));

  StringBuffer strBuffer = new StringBuffer();
  String line = null;
  while (null != (line = reader.readLine())) {
   strBuffer.append(line);
  }
  
  System.out.println("res:"+strBuffer.toString());

  
  
  if(reader !=null){
   reader.close();
  }
  

  httpConn.disconnect();
  httpConn = null;
  url = null;

  // if (log.isDebugEnabled()) {
  System.out.print(new StringBuffer("receive response=[").append(
    strBuffer).append("]"));

猜你喜欢

转载自gjp014.iteye.com/blog/2010636
今日推荐