JAVA HttpClient 基本用法

概述

HttpClient
可以用来实施各种http的相关功能
下载
下好之后把
httpcomponents-client-4.5.2\lib
这个文件夹里面的包导入就好了
导入的方法我另写了一篇

GET用法

client

CloseableHttpClient client = HttpClients.createDefault();

新建一个client 这个可以自动存Session 很是好用

get

String url = "";
HttpGet get = new HttpGet(url);

这就是get对象的用法,不过这并没有执行

response

CloseableHttpResponse response = client.execute(get);

这才执行了这个get 但可能不成功 所以需要抛出异常
在方法后加上 throws Exception

entity

HttpEntity entity = response.getEntity();

把相应以后的正文搞出来
当然还要转成我们能处理的格式

    Scanner scanner = new Scanner(entity.getContent());
    while (scanner.hasNextLine()) {
      System.out.println(scanner.nextLine());
    }

这样就可以把URL的内容输出到控制台上了

POST用法

当然了,仅仅是GET比较鸡肋了 我以前写过一个用另外方法实现的
不过POST就很强了 比如说模拟登陆 巴拉巴拉

post

HttpPost post = new HttpPost(url);

同GET一样 生成一个post对象

nvps

List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair(name, value));

顾名思义 加键值对

setEntity

post.setEntity(new UrlEncodedFormEntity(nvps));

设置正文
然后和上面GET方法一样获取内容就是了

这个post不支持自动跳转(重定向)比较鸡肋 貌似有办法 目前不知道
不过前面说了 client这个类会存session的 所以再GET一下就好了

状态码

int code = response.getStatusLine().getStatusCode();

这个可以返回状态码
根据状态码具体分析

你可能感兴趣的:(JAVA HttpClient 基本用法)