import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/*
* post请求登录注意点:
*
* 原理:客户端通过输出流,将数据写给服务端,服务端才会给予响应。
*
* 注意点:
*
* 1.手动调用setDoOutput(true),打开连接中的输出流。
*
* 2.调用getOutputStream()--->OutputStream,将参数调用write,写给服务端。
*/
public class Demo05_Post_Login {
public static void main(String[] args) throws Exception {
String baseUrl = "http://10.0.158.239:8080/Day22_Server/LoginServlet";
String params = "username=admin&password=123";
URL url = new URL(baseUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置请求方式为post
connection.setRequestMethod("POST");//注意,POST为大写,且为字符串
connection.setConnectTimeout(5000);//设置网络连接超时,可有可无
connection.setDoInput(true);// 打开连接中的输入流,用于读取服务端返回的数据。该方法的默认值就是true。
connection.setDoOutput(true);// 打开连接中的输出流,用于客户端向服务器写数据。该方法的默认值为false。
// 将参数,写给服务器端-->输出
OutputStream outputStream = connection.getOutputStream();
outputStream.write(params.getBytes());
// 获取响应码
if (connection.getResponseCode() == 200) {
InputStream inputStream = connection.getInputStream();
byte[] bs = new byte[24];
int len = 0;
len = inputStream.read(bs);
String result = new String(bs, 0, len);
System.out.println(result);
}
}
}