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

  • 相关阅读:
    hbase master 无法启动
    hbase 集群写入能力优化-预分区、TTL的应用
    TiSpark 初级应用
    ETL-kettle 核心执行逻辑
    大学生兼职赚零花钱正规平台来了,京东旗下产品,专为大学生打造
    中国联通笔试面试历年真题
    2020年教师资格证考试笔试面试历年真题
    贵州大学计算机科学与技术学院历年考研真题
    全国计算机等级考试二级、三级、四级历年真题及答案
    教师资格证考试历年真题——中小学幼儿园笔试面试真题
  • 原文地址:https://www.cnblogs.com/GtShare/p/7575141.html
Copyright © 2011-2022 走看看