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方法来实现。

  • 相关阅读:
    数据库创建索引的缺点,和什么时候不该创建索引
    创建数据库,表,索引,删除索引,查看表中的索引和如何使用表中的索引
    java容器中 哪些是线程安全的
    java中集合类详解
    高并发 问题怎么解决
    数据库20个问题(关于事务、存储引擎、索引、悲观锁乐观锁)
    数据库事务(什么是事务)
    Application对象详解
    get和post 两种基本请求方式的区别
    BZOJ1003物流運輸 DP + SPFA
  • 原文地址:https://www.cnblogs.com/zerotomax/p/7226153.html
Copyright © 2011-2022 走看看