您的位置:首页 > 理论基础 > 计算机网络

JAVA 获取http返回XML的数据

2015-10-26 09:45 453 查看
java 获取http常见两种方式:

 http://solodu.iteye.com/blog/550390

post方式:

 

protected JSONObject sendMsg(String url, String usercode) {

  HttpPost post = null;

  HttpClient client = null;

  JSONObject jsonResult = null;

  try {

   post = new HttpPost(url);

   client = new DefaultHttpClient();

   // 填充表单

   List<NameValuePair> params = new ArrayList<NameValuePair>();

   params.add(new BasicNameValuePair("passwordEncrypt", usercode));

   post.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));

   HttpResponse result = client.execute(post);

   if (result.getStatusLine().getStatusCode() == 200) {

    String str = "";

    try {

     /** 读取服务器返回过来的json字符串数据 **/

     str = EntityUtils.toString(result.getEntity());

     /** 把json字符串转换成json对象 **/

     jsonResult = JSONObject.fromObject(str);

    } catch (Exception e) {

     logger.error("post请求提交失败:" + url, e);

    }

   }

  } catch (Exception e) {

   e.printStackTrace();

   logger.error(e.getMessage());

  } finally {

   HttpClientUtils.closeQuietly(client);

  }

  return jsonResult;

 }

get方式:

/**

  * 访问url 返回xml javabean

  * @return

  */

 private String getXml() {

  HttpClient httpClient = new HttpClient();

  // 创建GET方法的实例

  GetMethod getMethod = new GetMethod(url);

  // 使用系统提供的默认的恢复策略

  getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,

    new DefaultHttpMethodRetryHandler());

  String xml = null;

  try {

   // 执行getMethod

   int statusCode = httpClient.executeMethod(getMethod);

   if (statusCode != HttpStatus.SC_OK) {

    System.err.println("Method failed: "

      + getMethod.getStatusLine());

   }

   // 读取内容

   byte[] responseBody = getMethod.getResponseBody();

   // 处理内容

//   System.out.println(new String(responseBody, "GBK"));

   xml = new String(responseBody, "GBK");

  } catch (Exception e) {

   // 发生致命的异常,可能是协议不对或者返回的内容有问题

   System.out.println("Please check your provided http address!");

   e.printStackTrace();

   log.error(e.getMessage());

   return xml;

  } finally {

   // 释放连接

   getMethod.releaseConnection();

  }

  return xml;

 }

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java