HttpClient基础知识

来源:互联网 发布:linux ftp断点续传 编辑:程序博客网 时间:2024/05/16 04:22

使用HttpClient的一般步骤:

1:创建HTTPClient实例

2:创建某种连接方法的实例,并且传入URL

3:使用HTTPClint实例调用executeMethod,参数为某连接方法的实例

4:接收该方法的返回的状态,并对该状态进行判断

5:接收Response的返回值

6:释放连接

 

示例:

GET

1:创建实例

Java代码  收藏代码
  1. HTTPClient client = new HTTPClient()  

 2:创建GET连接方法实例

Java代码  收藏代码
  1. GetMethod get = new GetMethod(URL);  

 3:调用方法,获取状态

Java代码  收藏代码
  1. int status = client.executeMethod(get);  

 4:根据状态不同调用不同的处理方式,以下为状态为200,即正常的情况下

Java代码  收藏代码
  1. String result = get.getResponseBodyAsString();  

 5:释放连接

Java代码  收藏代码
  1. get.releaseConnection()  

 

完整示例如下:

Java代码  收藏代码
  1. public class Test(){  
  2. public static void main(String[] args){  
  3. String url = "";  
  4. String result = null;  
  5. HttpClient client = new HttpClient();  
  6. GetMethod method = new GetMethod(url);  
  7. try{  
  8. int status = client.executeMethod(method);  
  9. if(status==200){  
  10. result = method.getResponseBodyAsString();  
  11. }  
  12. catch(HttpException e){  
  13. e.printStackTrace();  
  14. catch(IOException e){  
  15. e.printStackTrace();  
  16. catch(Exception e){  
  17. e.printStackTrace();  
  18. finally{  
  19. method.releaseConnection();  
  20. }  
  21. }  
  22. }  

 

POST

1:创建实例

Java代码  收藏代码
  1. HTTPClient client = new HTTPClient()  

 2:创建GET连接方法实例

Java代码  收藏代码
  1. PostMethod post = new PostMethod(URL);  

3:获取POST参数

Java代码  收藏代码
  1. post.setRequestBody(data);  

4:调用方法,获取状态

Java代码  收藏代码
  1. int status = client.executeMethod(post);  

 5:根据状态不同调用不同的处理方式,以下为状态为200,即正常的情况下

Java代码  收藏代码
  1. String result = get.getResponseBodyAsString();  

 6:释放连接

Java代码  收藏代码
  1. get.releaseConnection()  

完整示例如下:

Java代码  收藏代码
  1. public class Test(){  
  2. public static void main(String[] args){  
  3. //获取请求的参数  
  4. String data = "test";  
  5. String url = "http://www.test.com";  
  6. String result = null;  
  7. HttpClient client = new HttpClient();  
  8. PostMethod method = new PostMethod(url);  
  9. method.setRequestBody(data);  
  10. try{  
  11. int status = client.executeMethod(method);  
  12. if(status==200){  
  13. result = method.getResponseBodyAsString();  
  14. }  
  15. catch(HttpException e){  
  16. e.printStackTrace();  
  17. catch(IOException e){  
  18. e.printStackTrace();  
  19. catch(Exception e){  
  20. e.printStackTrace();  
  21. finally{  
  22. method.releaseConnection();  
  23. }  
  24. }  

0 0