JAVA发送HttpClient请求及接收请求结果处理为JSONOBJCET过程

http://blog.csdn.net/qianlong2hao/article/details/50175939


一.

1、写一个HttpRequestUtils工具类,包括post请求和get请求

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

package  com.brainlong.framework.util.httpclient;

 

import  net.sf.json.JSONObject;

import  org.apache.commons.httpclient.HttpStatus;

import  org.apache.http.HttpResponse;

import  org.apache.http.client.methods.HttpGet;

import  org.apache.http.client.methods.HttpPost;

import  org.apache.http.entity.StringEntity;

import  org.apache.http.impl.client.DefaultHttpClient;

import  org.apache.http.util.EntityUtils;

import  org.slf4j.Logger;

import  org.slf4j.LoggerFactory;

 

import  java.io.IOException;

import  java.net.URLDecoder;

 

public  class  HttpRequestUtils {

     private  static  Logger logger = LoggerFactory.getLogger(HttpRequestUtils. class );     //日志记录

 

     /**

      * httpPost

      * @param url  路径

      * @param jsonParam 参数

      * @return

      */

     public  static  JSONObject httpPost(String url,JSONObject jsonParam){

         return  httpPost(url, jsonParam,  false );

     }

 

     /**

      * post请求

      * @param url         url地址

      * @param jsonParam     参数

      * @param noNeedResponse    不需要返回结果

      * @return

      */

     public  static  JSONObject httpPost(String url,JSONObject jsonParam,  boolean  noNeedResponse){

         //post请求返回结果

         DefaultHttpClient httpClient =  new  DefaultHttpClient();

         JSONObject jsonResult =  null ;

         HttpPost method =  new  HttpPost(url);

         try  {

             if  ( null  != jsonParam) {

                 //解决中文乱码问题

                 StringEntity entity =  new  StringEntity(jsonParam.toString(),  "utf-8" );

                 entity.setContentEncoding( "UTF-8" );

                 entity.setContentType( "application/json" );

                 method.setEntity(entity);

             }

             HttpResponse result = httpClient.execute(method);

             url = URLDecoder.decode(url,  "UTF-8" );

             /**请求发送成功,并得到响应**/

             if  (result.getStatusLine().getStatusCode() ==  200 ) {

                 String str =  "" ;

                 try  {

                     /**读取服务器返回过来的json字符串数据**/

                     str = EntityUtils.toString(result.getEntity());

                     if  (noNeedResponse) {

                         return  null ;

                     }

                     /**把json字符串转换成json对象**/

                     jsonResult = JSONObject.fromObject(str);

                 catch  (Exception e) {

                     logger.error( "post请求提交失败:"  + url, e);

                 }

             }

         catch  (IOException e) {

             logger.error( "post请求提交失败:"  + url, e);

         }

         return  jsonResult;

     }

 

 

     /**

      * 发送get请求

      * @param url    路径

      * @return

      */

     public  static  JSONObject httpGet(String url){

         //get请求返回结果

         JSONObject jsonResult =  null ;

         try  {

             DefaultHttpClient client =  new  DefaultHttpClient();

             //发送get请求

             HttpGet request =  new  HttpGet(url);

             HttpResponse response = client.execute(request);

 

             /**请求发送成功,并得到响应**/

             if  (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {

                 /**读取服务器返回过来的json字符串数据**/

                 String strResult = EntityUtils.toString(response.getEntity());

                 /**把json字符串转换成json对象**/

                 jsonResult = JSONObject.fromObject(strResult);

                 url = URLDecoder.decode(url,  "UTF-8" );

             else  {

                 logger.error( "get请求提交失败:"  + url);

             }

         catch  (IOException e) {

             logger.error( "get请求提交失败:"  + url, e);

         }

         return  jsonResult;

     }

}

2、写业务代码发送Http请求

3、MVC配置文件设置Controller扫描目录

?

1

2

3

4

<!-- 自动扫描且只扫描 @Controller  -->

<context:component-scan base- package = "com.wiselong.multichannel"  use- default -filters= "false" >

     <context:include-filter type= "annotation"  expression= "org.springframework.stereotype.Controller"  />

</context:component-scan>

4、接收Http请求

    接收post请求

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

@Controller

@RequestMapping (value =  "/api/platform/exceptioncenter/exceptioninfo" )

public  class  ExceptionInfoController {

     //注入

     @Autowired

     private  ExceptionInfoBiz exceptionInfoBiz;

 

     /**

      * 创建异常信息请求

      * @param requestBody 请求消息内容

      * @param request 请求消息头

      * @return jsonObject

      */

     @RequestMapping (

             value= "/create" ,

             method = RequestMethod.POST

     )

     public  ModelAndView createExceptionInfo( @RequestBody  String requestBody, HttpServletRequest request) {

         JSONObject jsonObject = JSONObject.fromObject(requestBody);

         ComExceptionInfo comExceptionInfo =  new  ComExceptionInfo();

         comExceptionInfo.setProjectName(jsonObject.getString( "projectName" ));

         comExceptionInfo.setTagName(jsonObject.getString( "tagName" ));

         exceptionInfoBiz.insert(comExceptionInfo);

         //返回请求结果

         JSONObject result=  new  JSONObject();

         result.put( "success" "true" );

         return  new  ModelAndView( "" , ResponseUtilsHelper.jsonSuccess(result.toString()));

     }

   }


接收get请求

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

@Controller

@RequestMapping (value= "/api/platform/messagecenter/messages/sms" )

public  class  SmsController {

     @Autowired

     SmsSendBiz smsSendBiz;

 

     /**

      * 接收手机号码和内容往短信发送表插入一条记录

      * @param requestbody 请求消息内容

      * @param request 请求消息头

      * @return jsonObject

      */

     @RequestMapping (

             value= "/send" ,

             method= RequestMethod.GET

     )

     public  ModelAndView sendSms( @RequestBody  String requestbody, HttpServletRequest request) {

         //获取请求URL及url后面传输的参数

         String url = request.getRequestURL() +  "?"  + request.getQueryString();

         url = BuildRequestUrl.decodeUrl(url);

         String telePhone = RequestUtils.getStringValue(request,  "telePhone" );

         String content = RequestUtils.getStringValue(request,  "content" );

         smsSendBiz.insertTtMsQuequ(telePhone,content);

         return  new  ModelAndView( "" , ResponseUtilsHelper.jsonResult( "" true ));

     }

}




二.





get 





?










1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


32


33


34


35


36


37


38



import  java.io.BufferedReader;


import  java.io.IOException;


import  java.io.InputStream;


import  java.io.InputStreamReader;


 


import  org.apache.commons.httpclient.HttpClient;


import  org.apache.commons.httpclient.HttpMethod;


import  org.apache.commons.httpclient.methods.GetMethod;


 


public  class  H_client_get {


     public  static  void main(String[] args) throws IOException {


//     
new类对象


         HttpClient client =  new  HttpClient();


//     
使用 GET 方法 与URL服务器进行交互


//     
HttpMethod method = new GetMethod("http://192.168.111.128/bak/regist.php?email=admin@admin.com&password=1234567&re_password=1234567&username=admin&nickname=管理员");


         HttpMethod method =  new  GetMethod( "http://192.168.111.128/bak/login.php?username=" );


//     
使用 GET 方法 ,实行与url服务器连接


         client.executeMethod(method);


//     
数据流输出


//     
method.getResponseBodyAsStream 创建字节流对象为inputStream


         InputStream inputStream = method.getResponseBodyAsStream();


//     
InputStreamReader(inputStream)字节流转换成字符流    BufferedReader封装成带有缓冲的字符流对象了  


         BufferedReader br =  new  BufferedReader( new  InputStreamReader(inputStream, "UTF-8" ));


//     
StringBuffer是字符串变量,它的对象是可以扩充和修改的       创建一个空的StringBuffer类的对象    


         StringBuffer stringBuffer =  new  StringBuffer();


//     
定义字符串常量


         String str=  "" ;


//     
br字符流赋值给str字符串常量  str不等于空 按行输出


         while ((str = br.readLine()) !=  null ){ 


//         
StringBuffer 是字符串变量,它的对象是可以扩充和修改的  将str数据赋予 stringBuffer 


             stringBuffer .append(str );   


         }   


//     
按照字符串循环输出stringBuffer


         System.out.println(stringBuffer.toString());


//     
关闭method 的 httpclient连接


         method.releaseConnection();


     }


}





post





?










1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30



import  java.io.BufferedReader;


import  java.io.IOException;


import  java.io.InputStream;


import  java.io.InputStreamReader;


 


import  org.apache.commons.httpclient.methods.PostMethod;


import  org.apache.commons.httpclient.*;


 


public  class  H_client_post {


     public  static  void  main(String[] args)  throws  IOException {


         HttpClient client =  new  HttpClient();


         PostMethod 
method = 
new  PostMethod( "http://192.168.111.128/bak/login_post.php" );


         //表单域的值,既post传入的key=value


         NameValuePair[] date = {  new  NameValuePair( "username" , "admin" ), new  NameValuePair( "password" , "123457" )};


         //method使用表单阈值


         method.setRequestBody(date);


         //提交表单


         client.executeMethod(method);


         //字符流转字节流  循环输出,同get解释


         InputStream inputStream = method.getResponseBodyAsStream();


         BufferedReader br =  new  BufferedReader( new  InputStreamReader(inputStream, "UTF-8" ));


         StringBuffer stringBuffer =  new  StringBuffer();


         String str=  "" ;


         while ((str = br.readLine()) !=  null ){ 


             stringBuffer .append(str );   


         }     


         System.out.println(stringBuffer.toString());


         method.releaseConnection();


     }


}







三.





Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会更加深入。


一、简介



HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。



下载地址: http://hc.apache.org/downloads.cgi


二、特性



1. 基于标准、纯净的Java语言。实现了Http1.0和Http1.1



2. 以可扩展的面向对象的结构实现了Http全部的方法(GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)。



3. 支持HTTPS协议。



4. 通过Http代理建立透明的连接。



5. 利用CONNECT方法通过Http代理建立隧道的https连接。



6. Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, SNPNEGO/Kerberos认证方案。



7. 插件式的自定义认证方案。



8. 便携可靠的套接字工厂使它更容易的使用第三方解决方案。



9. 连接管理器支持多线程应用。支持设置最大连接数,同时支持设置每个主机的最大连接数,发现并关闭过期的连接。



10. 自动处理Set-Cookie中的Cookie。



11. 插件式的自定义Cookie策略。



12. Request的输出流可以避免流中内容直接缓冲socket服务器。



13. Response的输入流可以有效的从socket服务器直接读取相应内容。



14. 在http1.0和http1.1中利用KeepAlive保持持久连接。



15. 直接获取服务器发送的response code和 headers。



16. 设置连接超时的能力。



17. 实验性的支持http1.1 response caching。



18. 源代码基于Apache License 可免费获取。


三、使用方法



使用HttpClient发送请求、接收响应很简单,一般需要如下几步即可。



1. 创建HttpClient对象。



2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。



3. 如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(HetpParams params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity entity)方法来设置请求参数。



4. 调用HttpClient对象的execute(HttpUriRequest request)发送请求,该方法返回一个HttpResponse。



5. 调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。



6. 释放连接。无论执行方法是否成功,都必须释放连接


四、实例





[java]  view
plain
copy 在CODE上查看代码片 派生到我的代码片






  1. package com.test;  

  2.   

  3. import java.io.File;  

  4. import java.io.FileInputStream;  

  5. import java.io.IOException;  

  6. import java.io.UnsupportedEncodingException;  

  7. import java.security.KeyManagementException;  

  8. import java.security.KeyStore;  

  9. import java.security.KeyStoreException;  

  10. import java.security.NoSuchAlgorithmException;  

  11. import java.security.cert.CertificateException;  

  12. import java.util.ArrayList;  

  13. import java.util.List;  

  14.   

  15. import javax.net.ssl.SSLContext;  

  16.   

  17. import org.apache.http.HttpEntity;  

  18. import org.apache.http.NameValuePair;  

  19. import org.apache.http.ParseException;  

  20. import org.apache.http.client.ClientProtocolException;  

  21. import org.apache.http.client.entity.UrlEncodedFormEntity;  

  22. import org.apache.http.client.methods.CloseableHttpResponse;  

  23. import org.apache.http.client.methods.HttpGet;  

  24. import org.apache.http.client.methods.HttpPost;  

  25. import org.apache.http.conn.ssl.SSLConnectionSocketFactory;  

  26. import org.apache.http.conn.ssl.SSLContexts;  

  27. import org.apache.http.conn.ssl.TrustSelfSignedStrategy;  

  28. import org.apache.http.entity.ContentType;  

  29. import org.apache.http.entity.mime.MultipartEntityBuilder;  

  30. import org.apache.http.entity.mime.content.FileBody;  

  31. import org.apache.http.entity.mime.content.StringBody;  

  32. import org.apache.http.impl.client.CloseableHttpClient;  

  33. import org.apache.http.impl.client.HttpClients;  

  34. import org.apache.http.message.BasicNameValuePair;  

  35. import org.apache.http.util.EntityUtils;  

  36. import org.junit.Test;  

  37.   

  38. public class HttpClientTest {  

  39.   

  40.     @Test  

  41.     public void jUnitTest() {  

  42.         get();  

  43.     }  

  44.   

  45.     /** 

  46.      * HttpClient连接SSL 

  47.      */  

  48.     public void ssl() {  

  49.         CloseableHttpClient httpclient = null;  

  50.         try {  

  51.             KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());  

  52.             FileInputStream instream = new FileInputStream(new File("d:\\tomcat.keystore"));  

  53.             try {  

  54.                 // 加载keyStore d:\\tomcat.keystore    

  55.                 trustStore.load(instream, "123456".toCharArray());  

  56.             } catch (CertificateException e) {  

  57.                 e.printStackTrace();  

  58.             } finally {  

  59.                 try {  

  60.                     instream.close();  

  61.                 } catch (Exception ignore) {  

  62.                 }  

  63.             }  

  64.             // 相信自己的CA和所有自签名的证书  

  65.             SSLContext sslcontext = SSLContexts.custom().loadTrustMaterial(trustStore, new TrustSelfSignedStrategy()).build();  

  66.             // 只允许使用TLSv1协议  

  67.             SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, new String[] { "TLSv1" }, null,  

  68.                     SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);  

  69.             httpclient = HttpClients.custom().setSSLSocketFactory(sslsf).build();  

  70.             // 创建http请求(get方式)  

  71.             HttpGet httpget = new HttpGet("https://localhost:8443/myDemo/Ajax/serivceJ.action");  

  72.             System.out.println("executing request" + httpget.getRequestLine());  

  73.             CloseableHttpResponse response = httpclient.execute(httpget);  

  74.             try {  

  75.                 HttpEntity entity = response.getEntity();  

  76.                 System.out.println("----------------------------------------");  

  77.                 System.out.println(response.getStatusLine());  

  78.                 if (entity != null) {  

  79.                     System.out.println("Response content length: " + entity.getContentLength());  

  80.                     System.out.println(EntityUtils.toString(entity));  

  81.                     EntityUtils.consume(entity);  

  82.                 }  

  83.             } finally {  

  84.                 response.close();  

  85.             }  

  86.         } catch (ParseException e) {  

  87.             e.printStackTrace();  

  88.         } catch (IOException e) {  

  89.             e.printStackTrace();  

  90.         } catch (KeyManagementException e) {  

  91.             e.printStackTrace();  

  92.         } catch (NoSuchAlgorithmException e) {  

  93.             e.printStackTrace();  

  94.         } catch (KeyStoreException e) {  

  95.             e.printStackTrace();  

  96.         } finally {  

  97.             if (httpclient != null) {  

  98.                 try {  

  99.                     httpclient.close();  

  100.                 } catch (IOException e) {  

  101.                     e.printStackTrace();  

  102.                 }  

  103.             }  

  104.         }  

  105.     }  

  106.   

  107.     /** 

  108.      * post方式提交表单(模拟用户登录请求) 

  109.      */  

  110.     public void postForm() {  

  111.         // 创建默认的httpClient实例.    

  112.         CloseableHttpClient httpclient = HttpClients.createDefault();  

  113.         // 创建httppost    

  114.         HttpPost httppost = new HttpPost("http://localhost:8080/myDemo/Ajax/serivceJ.action");  

  115.         // 创建参数队列    

  116.         List<namevaluepair> formparams = new ArrayList<namevaluepair>();  

  117.         formparams.add(new BasicNameValuePair("username""admin"));  

  118.         formparams.add(new BasicNameValuePair("password""123456"));  

  119.         UrlEncodedFormEntity uefEntity;  

  120.         try {  

  121.             uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");  

  122.             httppost.setEntity(uefEntity);  

  123.             System.out.println("executing request " + httppost.getURI());  

  124.             CloseableHttpResponse response = httpclient.execute(httppost);  

  125.             try {  

  126.                 HttpEntity entity = response.getEntity();  

  127.                 if (entity != null) {  

  128.                     System.out.println("--------------------------------------");  

  129.                     System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8"));  

  130.                     System.out.println("--------------------------------------");  

  131.                 }  

  132.             } finally {  

  133.                 response.close();  

  134.             }  

  135.         } catch (ClientProtocolException e) {  

  136.             e.printStackTrace();  

  137.         } catch (UnsupportedEncodingException e1) {  

  138.             e1.printStackTrace();  

  139.         } catch (IOException e) {  

  140.             e.printStackTrace();  

  141.         } finally {  

  142.             // 关闭连接,释放资源    

  143.             try {  

  144.                 httpclient.close();  

  145.             } catch (IOException e) {  

  146.                 e.printStackTrace();  

  147.             }  

  148.         }  

  149.     }  

  150.   

  151.     /** 

  152.      * 发送 post请求访问本地应用并根据传递参数不同返回不同结果 

  153.      */  

  154.     public void post() {  

  155.         // 创建默认的httpClient实例.    

  156.         CloseableHttpClient httpclient = HttpClients.createDefault();  

  157.         // 创建httppost    

  158.         HttpPost httppost = new HttpPost("http://localhost:8080/myDemo/Ajax/serivceJ.action");  

  159.         // 创建参数队列    

  160.         List<namevaluepair> formparams = new ArrayList<namevaluepair>();  

  161.         formparams.add(new BasicNameValuePair("type""house"));  

  162.         UrlEncodedFormEntity uefEntity;  

  163.         try {  

  164.             uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");  

  165.             httppost.setEntity(uefEntity);  

  166.             System.out.println("executing request " + httppost.getURI());  

  167.             CloseableHttpResponse response = httpclient.execute(httppost);  

  168.             try {  

  169.                 HttpEntity entity = response.getEntity();  

  170.                 if (entity != null) {  

  171.                     System.out.println("--------------------------------------");  

  172.                     System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8"));  

  173.                     System.out.println("--------------------------------------");  

  174.                 }  

  175.             } finally {  

  176.                 response.close();  

  177.             }  

  178.         } catch (ClientProtocolException e) {  

  179.             e.printStackTrace();  

  180.         } catch (UnsupportedEncodingException e1) {  

  181.             e1.printStackTrace();  

  182.         } catch (IOException e) {  

  183.             e.printStackTrace();  

  184.         } finally {  

  185.             // 关闭连接,释放资源    

  186.             try {  

  187.                 httpclient.close();  

  188.             } catch (IOException e) {  

  189.                 e.printStackTrace();  

  190.             }  

  191.         }  

  192.     }  

  193.   

  194.     /** 

  195.      * 发送 get请求 

  196.      */  

  197.     public void get() {  

  198.         CloseableHttpClient httpclient = HttpClients.createDefault();  

  199.         try {  

  200.             // 创建httpget.    

  201.             HttpGet httpget = new HttpGet("http://www.baidu.com/");  

  202.             System.out.println("executing request " + httpget.getURI());  

  203.             // 执行get请求.    

  204.             CloseableHttpResponse response = httpclient.execute(httpget);  

  205.             try {  

  206.                 // 获取响应实体    

  207.                 HttpEntity entity = response.getEntity();  

  208.                 System.out.println("--------------------------------------");  

  209.                 // 打印响应状态    

  210.                 System.out.println(response.getStatusLine());  

  211.                 if (entity != null) {  

  212.                     // 打印响应内容长度    

  213.                     System.out.println("Response content length: " + entity.getContentLength());  

  214.                     // 打印响应内容    

  215.                     System.out.println("Response content: " + EntityUtils.toString(entity));  

  216.                 }  

  217.                 System.out.println("------------------------------------");  

  218.             } finally {  

  219.                 response.close();  

  220.             }  

  221.         } catch (ClientProtocolException e) {  

  222.             e.printStackTrace();  

  223.         } catch (ParseException e) {  

  224.             e.printStackTrace();  

  225.         } catch (IOException e) {  

  226.             e.printStackTrace();  

  227.         } finally {  

  228.             // 关闭连接,释放资源    

  229.             try {  

  230.                 httpclient.close();  

  231.             } catch (IOException e) {  

  232.                 e.printStackTrace();  

  233.             }  

  234.         }  

  235.     }  

  236.   

  237.     /** 

  238.      * 上传文件 

  239.      */  

  240.     public void upload() {  

  241.         CloseableHttpClient httpclient = HttpClients.createDefault();  

  242.         try {  

  243.             HttpPost httppost = new HttpPost("http://localhost:8080/myDemo/Ajax/serivceFile.action");  

  244.   

  245.             FileBody bin = new FileBody(new File("F:\\image\\sendpix0.jpg"));  

  246.             StringBody comment = new StringBody("A binary file of some kind", ContentType.TEXT_PLAIN);  

  247.   

  248.             HttpEntity reqEntity = MultipartEntityBuilder.create().addPart("bin", bin).addPart("comment", comment).build();  

  249.   

  250.             httppost.setEntity(reqEntity);  

  251.   

  252.             System.out.println("executing request " + httppost.getRequestLine());  

  253.             CloseableHttpResponse response = httpclient.execute(httppost);  

  254.             try {  

  255.                 System.out.println("----------------------------------------");  

  256.                 System.out.println(response.getStatusLine());  

  257.                 HttpEntity resEntity = response.getEntity();  

  258.                 if (resEntity != null) {  

  259.                     System.out.println("Response content length: " + resEntity.getContentLength());  

  260.                 }  

  261.                 EntityUtils.consume(resEntity);  

  262.             } finally {  

  263.                 response.close();  

  264.             }  

  265.         } catch (ClientProtocolException e) {  

  266.             e.printStackTrace();  

  267.         } catch (IOException e) {  

  268.             e.printStackTrace();  

  269.         } finally {  

  270.             try {  

  271.                 httpclient.close();  

  272.             } catch (IOException e) {  

  273.                 e.printStackTrace();  

  274.             }  

  275.         }  

  276.     }  

  277. }</namevaluepair></namevaluepair></namevaluepair></namevaluepair>  


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值