概述
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();
这个可以返回状态码
根据状态码具体分析