zoukankan      html  css  js  c++  java
  • HttpClient入门一

    HttpClient是一个实现了Http协议的功能强大的编程工具包。

    要使用HttpClient,通常需要以下几部:

    1、常见一个HttpClient实例

    2、创建一个get或者post方法

    3、告诉HttpClient去执行获取的方法

    4、读取服务器的响应

    5、释放连接

    6、处理响应的内容

    下面这个实例就实现了一个从指定网页去读取网页内容的代码。

    package com.httpclient;
    
    import java.io.IOException;
    
    import org.apache.http.HttpEntity;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    
    public class Test01 {
    
        public static void main(String[] args) {
            
            /**
             * 使用HttpClents的静态方法createDefault()创建一个可关闭的Http客户端
             * 这个client中有很多重载的execute方法,可以用来执行请求
             */
            CloseableHttpClient client= HttpClients.createDefault();
            
            /**
             * 创建一个对指定地址的get请求,
             * 这个请求在执行之后,将会在response中返回一个entity
             * 在org.apache.http.client.methods包中提供了
             * 很多http方法,比如get,post,head之类的
             */
            HttpGet get=new HttpGet("http://www.eastmoney.com/");
            CloseableHttpResponse response=null;
            try {
                /**
                 * 使用默认的上下文执行请求
                 * 返回request的response
                 */
                response=client.execute(get);
                
                //打印出返回的状态栏
                System.out.println(response.getStatusLine());
                
                //从response中获取entity
                HttpEntity entity=response.getEntity();
                
                /**
                 * 利用EntityUtils这个工具包中的toString这个静态方法
                 * 可以轻松的获取entity中的内容,并且是以String类型返回
                 */
                System.out.println(EntityUtils.toString(entity));
                
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                try {
                    response.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }
    View Code

    上面的例子是通过get方法请求的,当然也可以通过post方法来实现。

  • 相关阅读:
    高并发性能测试
    Gitlab源码库里代码提交后,如何触发jenkins自动构建?
    San初步使用
    客户端通过HTTP协议与服务端交换数据
    Web服务端开发需要考虑的问题(续)
    Web服务端开发需要考虑的问题
    我对Web开发的认识
    postgresql远程连接中断的处理
    关于12306的想法
    oracle context
  • 原文地址:https://www.cnblogs.com/zerotomax/p/7226153.html
Copyright © 2011-2022 走看看