HttpURLConnection的get和post请求实例

get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet

    public class DemoConnection02 {  
      
        /** 
         * @param args 
         * @throws IOException  
         */  
        public static void main(String[] args) throws IOException {  
            String path = "图片路径";  
            //1, 得到URL对象  
            URL url = new URL(path);  
              
            //2, 打开连接  
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
              
            //3, 设置提交方式  
            conn.setRequestMethod("GET");  
              
            //4, 获取响应信息  
            if(conn.getResponseCode() == 200)  
            {  
                InputStream is = conn.getInputStream();  
                  
                byte[] buffer = new byte[1024];  
                  
                int len = 0;  
                  
                ByteArrayOutputStream baos = new ByteArrayOutputStream();  
                  
                while ((len = is.read(buffer))!=-1) {  
                      
                    baos.write(buffer, 0, len);  
                }  
                  
                //截取图片名称  
                String fileName = path.substring(path.lastIndexOf("/")+1);  
                  
                FileOutputStream fos = new FileOutputStream("d:/"+fileName);  
                  
                fos.write(baos.toByteArray());  
                  
                fos.close();  
                  
                System.out.println("图片下载成功!!!");  
            }  
              
        }  


post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。


    public static void main(String[] args) throws Exception {  
              
            String path = "http://localhost:8080/Day_28_Servlet/LoginServlet";  
              
            //1, 得到URL对象  
            URL url = new URL(path);  
              
            //2, 打开连接  
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
              
            //3, 设置提交类型  
            conn.setRequestMethod("POST");  
              
            //4, 设置允许写出数据,默认是不允许 false  
            conn.setDoOutput(true);  
            conn.setDoInput(true);//当前的连接可以从服务器读取内容, 默认是true  
              
            //5, 获取向服务器写出数据的流  
            OutputStream os = conn.getOutputStream();  
            //参数是键值队  , 不以"?"开始  
            os.write("useName=abc&usePwd=123".getBytes());  
            os.flush();  
              
            //6, 获取响应的数据  
            if(conn.getResponseCode()==200)  
            {  
                //得到服务器写回的响应数据  
                InputStream is = conn.getInputStream();  
                BufferedReader br = new BufferedReader(new InputStreamReader(is));  
                String str = br.readLine();  
                  
                System.out.println("响应内容为:  " + str);  
                  
            }  
        }  

博文转自:http://blog.csdn.net/qq_29882585/article/details/52234366


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值