使用HttpClient进行Get通信
--------------siwuxie095
首先到 Apache官网 下载相关的库文件
Apache官网:http://www.apache.org/
在官网页面的最下方是
Apache 所支持的所有项目列表(APACHE PROJECT LIST)
找到
HttpComponents,点击进入,选择 Download,下载
HttpClient 4.5.3(GA) 版本(截止 2017/3/31 最新 GA 版本)
页面链接:http://hc.apache.org/downloads.cgi
httpcomponents-client-4.5.3-bin.zip
解压后一览:
工程名:TestHttpClient
包名:com.siwuxie095.httpclient
类名:TestGet.java
打开资源管理器,在工程 TestHttpClient 文件夹下,创建一个
文件夹:lib,在其中放入:
(1)httpclient-4.5.3.jar
(2)httpcore-4.4.6.jar
(3)commons-logging-1.2.jar
工程结构目录一览:
全选这 3 个
jar 包(利用 Shift 全选),右键->Build Path->Add to Build Path
此时,工程结构目录一览:
代码:
package com.siwuxie095.httpclient; import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class TestGet { public static
//运行线程 Get,使用匿名对象 new Get().start(); } } //创建线程 Get class Get extends Thread{
//创建一个HttpClient,使用静态方法调用类HttpClients的reateDefault() //获取一个新的实例 HttpClient client=HttpClients.createDefault();
//复写run() @Override public //创建一个HttpGet,传入String:要获取的网页 HttpGet get=new HttpGet("http://www.baidu.com");
try {
//通过HttpGet指定get操作后,让HttpClient执行get操作 //execute()返回HttpResponse类型,创建以接收返回值 //有异常抛出,使用 try catch 捕获 HttpResponse response=client.execute(get);
//从response中获取当前请求的结果 //getEntity()返回HttpEntity类型,创建以接收返回值 HttpEntity entity=response.getEntity();
//将entity返回成一个String类型 //调用类EntityUtils的静态方法toString(), //传入entity的同时,指定转换为字符串时使用的编码 String result=EntityUtils.toString(entity, "UTF-8");
//打印结果,输出为 HTML 数据 System.out.println(result);
} catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
} } |
运行一览:
将输出的 HTML 数据,复制->粘贴->格式化:
【made by siwuxie095】
最新文章
- 测试LVS+Keepalived高可用负载均衡集群
- MVC返回JSON数据格式书写方式
- C程序的构成及动态内存分配
- tcpdump 命令行抓包工具
- Android自定义控件 开源组件SlidingMenu的项目集成
- STL之list(双向链表)
- 办理布鲁克大学(本科)学历认证『微信171922772』Brock学位证成绩单使馆认证Brock University
- 利刃 MVVMLight 7:命令深入
- 快速傅里叶变换(FFT)算法【详解】
- python正则详解
- java12 - 正则表达式
- python 零基础学习之路 02-python入门
- PHP_DOC php文档结构及注解浏览
- python unittest框架
- unity 对象旋转,自转
- 【转载】js关闭当前页面(窗口)的几种方式总结
- NOIP模拟赛-2018.11.5
- Hibernate 的复杂用法HibernateCallback
- How To Change the Supplier Bank Account Masking in UI (Doc ID 877074.1)
- JDBC 流程
热门文章
- Office 2016 (Preview)
- C#中的线程(一)入门
- Spring_总结_04_高级配置(四)_bean的作用域
- @angular/cli项目构建--http(2)
- C#中DEV控件,XtraTabPage得小方法
- git教程4-创建分支与删除分支
- python并发编程的几种方法
- HihoCoder1403 后缀数组一·重复旋律1
- linux大于2T的磁盘格式化
- 三、python沉淀之路--列表(list)