httpclient提交表单 访问接口

来源:互联网 发布:优米网域名交易 编辑:程序博客网 时间:2024/05/16 10:11

http://shendixiong.iteye.com/blog/1135633

httpclient提交表单   访问接口



  1. public static String getStringURLtoPost(String url,  
  2.             Map<String, Object> parms) {    
  3.         if ("".equals(url) || parms == null || url.trim().length() <= 0  
  4.                 || parms.size() <= 0) {  
  5.             return null;  
  6.         }  
  7.         HttpClient httpClient = new HttpClient();   
  8.         PostMethod postMethod = new PostMethod(url); //<strong><span style="color: #ff0000;">此处为你访问的接口 或页面</span>  
  9. </strong>  
  10.   
  11.           //<strong><span style="color: #ff0000;">设置编码 防止中文乱码</span>  
  12. </strong>  
  13.   
  14.        httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");  
  15.     
  16.                //<strong><span style="color: #ff0000;">此处为集合里面的值!遍历map集合中的key和value!其实,这里是关键!这里就是表单数据</span>  
  17. </strong>  
  18.   
  19.         NameValuePair[] data = new NameValuePair[parms.keySet().size()];  
  20.         Iterator it = parms.entrySet().iterator();  
  21.         int i = 0;  
  22.         while (it.hasNext()) {  
  23.             Map.Entry entry = (Map.Entry) it.next();  
  24.             Object key = entry.getKey();  
  25.             Object value = entry.getValue();  
  26.             data[i] = new NameValuePair(key.toString(), value.toString());  
  27.             i++;  
  28.         }  
  29.         postMethod.setRequestBody(data); //<strong><span style="color: #ff0000;">这里就是将值传过去(接口中)!</span>  
  30. </strong>  
  31.   
  32.         try {  
  33.             httpClient.executeMethod(postMethod); //<strong><span style="color: #ff0000;">执行</span>  
  34. </strong>  
  35.   
  36.             return postMethod.getResponseBodyAsString(); <span style="color: #ff0000;"><strong>//得到接口中返回的数据</strong>  
  37.   
  38. </span>  
  39.         } catch (Exception e) {  
  40.             e.printStackTrace();  
  41.         } finally{  
  42.             postMethod.releaseConnection();  <strong><span style="color: #ff0000;">//关闭(销毁</span>  
  43. </strong>  
  44.   
  45.                 }  
  46.                  return null;  
  47. }  
  48.   
  49. public static int getCheckInUrl(VideoAsset asset,String username,String text_comments){  
  50.         int Checkin_status = CHECKIN_STATUS_FAIL;  
  51.         StringBuffer buffer = new StringBuffer();  
  52.         Map<String, Object> parms = new HashMap<String, Object>();  
  53.         buffer.append("127.0.0.1:82/webservice/sign.jsp?action=add");  
  54.         <span style="color: #ff0000;"><strong>//其实.这就相当于,我们的初始页面!然后,下面的数据就是table表单要提交的字段!</strong>  
  55. </span>  
  56.   
  57.           
  58.         if(asset == null){  
  59.             Checkin_status = CHECKIN_STATUS_FAIL;  
  60.         }if(asset.getAssetId()>=0){  
  61.             parms.put("assetid", asset.getAssetId());  
  62.         }if(asset.getItemId()>=0){  
  63.             parms.put("itemid", asset.getItemId());  
  64.         }if(!"".equals(asset.getAssetType().trim())&&asset.getAssetType()!=null){  
  65.             parms.put("assettype", asset.getAssetType().trim());  
  66.         }if(!"".equals(asset.getAssetCode().trim())&&asset.getAssetCode()!=null){  
  67.             parms.put("assetcode", asset.getAssetCode().trim());  
  68.         }if(!"".equals(username.trim())&&username !=null){  
  69.             parms.put("username", username.trim());  
  70.         }if(!"".equals(asset.getAssetName().trim())&&asset.getAssetName()!=null){  
  71.             parms.put("assetname", asset.getAssetName().trim());  
  72.         }if(!"".equals(text_comments.trim())&&text_comments!=null){  
  73.             parms.put("text_comments", text_comments);  
  74.         }  
  75. <span style="color: #ff0000;"><strong>//将要提交的字段数据放入进去!</strong>  
  76. </span>  
  77.   
  78.           
  79.         return getFromUrltoPost(buffer.toString(), parms);   
  80.     }   
  81.   
  82. public static int getFromUrltoPost(String url,Map<String, Object> parms){  
  83.         int Checkin_status = CHECKIN_STATUS_FAIL;  
  84.         try {  
  85.             Checkin_status = Integer.parseInt(StringUtil.getStringURLtoPost(url, parms));  
  86.             return Checkin_status;  
  87.         } catch (NumberFormatException e) {  
  88.             Checkin_status = CHECKIN_STATUS_UNKNOWNUSERNAME;  
  89.             return Checkin_status;  
  90.         }finally{  
  91.             return Checkin_status;  
  92.         }  
  93.           
  94.     }  
  95.   
  96. <strong><span style="color: #ff0000;">/*  
  97. *最后要告诉大家的是!如果不懂,可以试想成,你做一个简单的登陆页面!里面有name和password哪个字段!  
  98. *而假设你的访问页面是http://127.0.0.1:82/hello.jsp  
  99. *你用post方式!那么你在集合里面就应该put两个,一个是name,一个是password   
  100. *也就是put("name",name) ,put("password",password); 也访问的页面就是你的url(道理就相当于一个  
  101. *简易的登陆提交)  
  102. */</span>  
  103. </strong>  
  104.  
0 0