Fork me on GitHub

使用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 void main(String[] args) {

 

//运行线程 Get,使用匿名对象

new Get().start();

}

   

}

   

//创建线程 Get

class Get extends Thread{

 

//创建一个HttpClient,使用静态方法调用类HttpClientsreateDefault()

//获取一个新的实例

HttpClient client=HttpClients.createDefault();

 

//复写run()

@Override

public void run() {

//创建一个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】

posted on 2017-03-31 14:05  siwuxie095  阅读(362)  评论(0编辑  收藏  举报

导航