con.getOutputStream()和con.getInputStream()
时间: 2023-10-25 20:30:52 浏览: 147
con.getOutputStream()和con.getInputStream()是HttpURLConnection类中的两个方法,用于进行HTTP请求和获取服务器响应。
- con.getOutputStream()方法:该方法返回一个OutputStream对象,用于将请求数据写入到服务器。在向服务器发送POST请求时,我们需要使用该方法将POST请求的参数写入到服务器中。例如,我们可以使用如下代码将POST请求的参数写入到服务器:
```
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream out = con.getOutputStream();
String postData = "username=test&password=123456";
out.write(postData.getBytes());
out.flush();
out.close();
```
在这里,我们首先调用setDoOutput(true)方法开启输出流,然后使用getOutputStream()方法获取输出流。接着,我们将POST请求的参数写入到输出流中,这里我们将“username=test&password=123456”写入到服务器中。最后,我们需要记得关闭输出流,以便释放相关资源。
- con.getInputStream()方法:该方法返回一个InputStream对象,用于获取服务器响应的输入流。在向服务器发送请求后,我们可以使用该方法获取服务器返回的数据。例如,我们可以使用如下代码获取服务器响应:
```
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
InputStream in = con.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
in.close();
```
在这里,我们首先使用getInputStream()方法获取服务器响应的输入流,然后使用BufferedReader按行读取服务器响应的数据。最后,我们需要记得关闭输入流和BufferedReader,以便释放相关资源。
阅读全文