zoukankan      html  css  js  c++  java
  • Java中的HTTP通信技术详解

     1、使用HTTP的Get方式读取网络数据

         
    复制代码
    class ReadByGet extends Thread{
        @Override
        public void run(){
            URL url = new URL("网址");//如果有参数,在网址中携带参数
            URLConnection conn = url.openConnection();
            InputStream is = conn.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            
            String line;
            StringBuilder builder = new StringBuilder();
            while((line=br.readLine())!=null){
                  builder.append(line);
            }
            br.close();
            isr.cloae();
            is.close();
            
            System.out.println(builder.toString);
        }
    }
    public static void main(String[] args){
        new ReadByGet().start();
    } 
    复制代码

          2、使用HTTP的Post方式与网络交互通信  

    复制代码
    Class ReadByPost extends Thread{
         @override
         public void run(){
             URL url = new URL("网址");
             HttpURLConnection conn = (HttpURLConnection)url.openConnection();
             conn.addRequestProperty("encoding","UTF-8");
             conn.setDoInput(true);
             Conn.setDoOutput(true);
             conn.setRequestMethod("POST");
             
             OutputStream os = conn.getOutputStream();
             OutputStreamWriter osw = new OutputStreamWriter(os);
             BufferedWriter bw = new BufferedWriter(osw);
              
             bw.write("向服务器传递的参数");
             bw.flush();
             
             InputStream is = conn.getInputStream();
             InputStreamReader isr = new InputStreamReader(is);
             BufferedReader br = new BufferedReader(isr);         
             String line;
             StringBuilder builder = new StringBuilder();
             while((line = br.readLine())!=null){
                  builder.append(line);
             }
             //关闭资源
             System.out.println(builder.toString);
         }
    }
    public static void main(){
         new ReadByPost().start();
    }
    复制代码

          
          3、使用HttpClient进行Get方式通信

                apache有一个HttpClient包
    1. 复制代码
      class Get extends Thread{
         
          HttpClient client = HttpClients.createDefault();
          @Override
          public void run(){
             
               HttpGet get = new HttpGet("http://www.baidu.com");
               
               HttpResponse response = client.execute(get);
               HttpEntity entity = response.getEntity();
               String result = EntityUtils.toString(entity,"UTF-8");
               
               System.out.println(result);
               
          }
      }
      public static void main(String[] args){
          new Get().start();
      }
      复制代码


            4、使用HttpClient进行Post方式通信

     
    复制代码
    class Post extends Thread{
        HttpClient cilent = HttpClients.CreateDefault();
        @Override
        public void run(){
            HttpPost post = new HttpPost("网址");
            //设置要传的参数
            List<BasicNameValuePair> parameters = new ArratList();
            parameters.add(new BasicNameValuePair("key","value"));
            
            post.setEntity(new UrlEncodeFormEntity(parameters,"UTF-8"));
            HttpResponse response = client.execute(post);
            HttpEntity entity = response.getEntity();
            String result = EntityUtils.roString(entity,"UTF-8");
            
            System.out.println(result);
            
        }
    }
    main(){
        new Post().start();
    }
    复制代码


    参见:http://www.cnblogs.com/rocomp/p/4803864.html

  • 相关阅读:
    js基础 数组reduce
    js基础 数组every some
    js基础 数组forEach
    js基础 数组排序
    js基础 数组findIndex
    nodejs+koa2微信app支付,小程序支付
    Iview-datePicker获取选中的日期,如果没有选,提示错误,选了,错误隐藏
    mongoose+koa2 按照_id更新多条数据,删除数组中的字段,然后添加新的字段,$pull和$or结合使用
    json数组去除重复的值
    mongoose根据_id更新,且如果数组中没有元素就添加
  • 原文地址:https://www.cnblogs.com/GtShare/p/7575141.html
Copyright © 2011-2022 走看看