HttpURLConnection网络获取资源之:POST方法

来源:互联网 发布:锵锵三人行9月11 知乎 编辑:程序博客网 时间:2024/04/29 01:16

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);
        }

 
    }

}

0 0