一个项目要求在EJB中访问一个特定的url并传递参数,就像这样 http://xxx.xxx.xxx.xxx:xx/abc.php?action=activate&uid=.....,得到响应后读取响应正文(不是Http头)的内容,正文大概是这样:status=succed\n date=.....\n .....,我用HttpURLConnection不知道是否可以,有更高效的办法吗,能给我一段HttpURLConnection的实例代码吗

解决方案 »

  1.   

    注意编码问题
    public static void main(String[] args) throws Exception {
    URL theURL = new URL("http://blog.csdn.net/sunyujia/");
    URLConnection urlConnection = theURL.openConnection();
    urlConnection.connect();
    // System.out.println(urlConnection.getContentType());
    // BufferedReader in = new BufferedReader(new
    // InputStreamReader(urlConnection.getInputStream()));
    // StringWriter swr = new StringWriter();
    // PrintWriter sw = new PrintWriter(swr, true);
    // for (String line; (line = in.readLine()) != null;) {
    // sw.println(line);
    // }
    // System.out.println(swr.toString());
    // in.close(); InputStream in = urlConnection.getInputStream();
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    int bufferSize = 1024 * 1024;
    byte[] buffer = new byte[bufferSize];// 缓冲区
    for (int bytesRead = 0; (bytesRead = in.read(buffer)) != -1;) {
    bos.write(buffer, 0, bytesRead);
    Arrays.fill(buffer, (byte) 0);
    }
    System.out.println(new String(bos.toByteArray(), "UTF-8"));
    in.close();
    }