美文网首页
HttpUrlConnection

HttpUrlConnection

作者: 安安静静写代码 | 来源:发表于2017-08-25 16:48 被阅读54次

    HttpUrlConnection是谷歌公司开发推荐的一种编写客户端的开源框架
    以GET请求方式在网上下载一张图片

    package com.qf.demo5;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    /**
     * 谷歌官方推荐的 HttpUrlConnection
     * @author Administrator
     */
    public class Test {
    
        public static void main(String[] args) {
             InputStream is = null;
             FileOutputStream fos =null;
            try {
                // 1URL 统一资源定位符
                URL url = new URL("http://photocdn.sohu.com/20150610/mp18368185_1433925691994_2.jpg");
                //  2
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                
                // 3 设定 请求方式
                connection.setRequestMethod("GET");
                // 4 连接服务器
                connection.connect();
                
                // 5 接收响应
                // 判断  请求是否成功,  响应的状态     状态码  200 请求响应成功了
                //      200 响应成功      404 找不到页面     500 服务器错误
                if(connection.getResponseCode()==200){
                    // 读取
                     is = connection.getInputStream();
                     fos = new FileOutputStream(new File("w.jpg"));
                     byte[] bs = new byte[1024];
                     int num  = 0;
                     while((num = is.read(bs))!=-1){
                         fos.write(bs, 0, num);
                         fos.flush();
                     }
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                if(is!=null){
                    try {
                        is.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
                if(fos!=null){
                    try {
                        fos.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
            
        }
    }
    

    POST请求方式访问服务端

    package com.qf.demo5;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    /**
     * post 请求
     * @author Administrator
     *
     */
    public class Test3 {
    
        public static void main(String[] args) {
            BufferedReader reader = null;
            try {
                URL url = new URL("http://localhost:8080/Day28_03/LoginServlet");
                // 2
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                // 3 
                connection.setRequestMethod("POST");
                // 是否允许修改 地址 (是否允许在地址中追加 参数)
                connection.setDoOutput(true);// false  默认不允许修改
                connection.setDoInput(true);// true  默认就是允许读取的
                
                // 4 修改  追加 参数
                OutputStream os = connection.getOutputStream();// 从这个流  向  conntion中取添加参数
                os.write("useName=zhangasan&pwd=123".getBytes());
                os.flush();
                
                // 5 连接(可以写 可以不写  不写 默认帮助执行  连接操作)
                //connection.connect();
                
                // 6 读取响应内容
                if(connection.getResponseCode()==200){
                    reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
                    String result = reader.readLine();
                    System.out.println("服务器回复的数据="+result);
                }
                
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                if(reader!=null){
                    try {
                        reader.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    
    

    相关文章

      网友评论

          本文标题:HttpUrlConnection

          本文链接:https://www.haomeiwen.com/subject/pnoudxtx.html