Android 请求服务端通信

  1. 使用时: String result = new Communication().communication("returnObject.action"); 
  2. 通信类:

  3. public class Communication {       
  4.       
  5.     public String communication(String urlString){  
  6.           
  7.         HttpClient client = new DefaultHttpClient();  
  8.           
  9.           
  10.           
  11.         client.getConnectionManager().closeIdleConnections(20, TimeUnit.SECONDS);//20秒  
  12.           
  13.         String result="";  
  14.           
  15.         String uploadUrl="http://192.168.1.101:8080/SSH"+"/";///http://192.168.10.9/bingo/Server/code  
  16.         String MULTIPART_FORM_DATA = "multipart/form-data";   
  17.         String BOUNDARY = "---------7d4a6d158c9"//数据分隔线  
  18.           
  19.         if (!urlString.equals("")) {  
  20.             uploadUrl = uploadUrl+urlString;  
  21.           
  22.           
  23.         try {  
  24.             URL url = new URL(uploadUrl);    
  25.             HttpURLConnection conn = (HttpURLConnection) url.openConnection();    
  26.             conn.setDoInput(true);//允许输入    
  27.             conn.setDoOutput(true);//允许输出    
  28.             conn.setUseCaches(false);//不使用Cache    
  29.             conn.setConnectTimeout(6000);// 6秒钟连接超时  
  30.             conn.setReadTimeout(25000);// 25秒钟读数据超时  
  31.             conn.setRequestMethod("POST");              
  32.             conn.setRequestProperty("Connection""Keep-Alive");    
  33.             conn.setRequestProperty("Charset""UTF-8");    
  34.             conn.setRequestProperty("Content-Type", MULTIPART_FORM_DATA + "; boundary=" + BOUNDARY);  
  35.               
  36.             
  37.             StringBuilder sb = new StringBuilder();    
  38.                 
  39.             //上传的表单参数部分,格式请参考文章    
  40. //          for (Map.Entry entry : params.entrySet()) {//构建表单字段内容    
  41. //              sb.append("--");    
  42. //              sb.append(BOUNDARY);    
  43. //              sb.append("\r\n");    
  44. //              sb.append("Content-Disposition: form-data; name=\""+ entry.getKey() + "\"\r\n\r\n");    
  45. //              sb.append(entry.getValue());    
  46. //              sb.append("\r\n");    
  47. //          }    
  48.   
  49.               
  50.             DataOutputStream dos = new DataOutputStream(conn.getOutputStream());  
  51.             dos.write(sb.toString().getBytes());  
  52.             dos.writeBytes("--" + BOUNDARY + "--\r\n");  
  53.               dos.flush();  
  54.   
  55.               InputStream is = conn.getInputStream();  
  56.               InputStreamReader isr = new InputStreamReader(is, "utf-8");  
  57.               BufferedReader br = new BufferedReader(isr);  
  58.               result = br.readLine();  
  59.              
  60.                 
  61.         }catch (Exception e) {  
  62.             result = "{\"ret\":\"898\"}";  
  63.         }  
  64.     }  
  65.         return result;  
  66.           
  67.     }  
  68. }  

原文地址:
http://blog.youkuaiyun.com/z104207/article/details/6672109,感谢博主
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值