java HttpURLConnection 使用记录
作者:互联网
HttpURLConnection connection = null; InputStream is = null; BufferedReader br = null; // 返回结果字符串 String result = null; try { // 创建远程url连接对象 URL url = new URL(httpurl); // 通过远程url连接对象打开一个连接,强转成httpURLConnection类 connection = (HttpURLConnection) url.openConnection(); // 设置连接方式:get connection.setRequestMethod("DELETE"); // 设置连接主机服务器的超时时间:15000毫秒 connection.setConnectTimeout(15000); // 设置读取远程返回的数据时间:60000毫秒 connection.setReadTimeout(60000); // 发送请求 connection.connect(); // 通过connection连接,获取输入流 if (connection.getResponseCode() == 200) { is = connection.getInputStream(); // 封装输入流is,并指定字符集 byte[] bytes = new byte[is.available()]; is.read(bytes); result = new String(bytes, "UTF-8"); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // 关闭资源 if (null != br) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (null != is) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } connection.disconnect();// 关闭远程连接 }
1.HttpURLConnection对象不能直接构造,需要通过URL类中的openConnection方法类获得。
2.HttpURLConnection的connect()方法,建立与服务器的TCP连接,并没有实际发送HTTP请求,直到获取服务器响应数据时,才正式发送。
3.对HttpURLConnection对象的参数配置,都需要在connect()方法执行前完成。
4.HttpURLConnection是基于HTTP协议的,其底层是通脱socket通信实现的,如果不设置超时(timeout),在网络异常的情况下,可能会导致程序僵死,而不能继续往下执行。
标签:java,记录,printStackTrace,connection,catch,null,连接,HttpURLConnection 来源: https://blog.csdn.net/Erik_w/article/details/122809515