android 与struts 使用HttpsUrlConnection进行数据(文件/字符)传送 (客户端例)

13 篇文章 0 订阅





http://blog.sina.com.cn/s/blog_62a74b7d01015qyw.html


上一篇服务器端已经配置完成,现在来写一下客户端的示例程序


这段代码其实不多,有实际意义的就那么一点

TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
                 public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                       return new java.security.cert.X509Certificate[] {};
                 }    
                 public void checkClientTrusted(java.security.cert.X509Certificate[] chain,    
                             String authType) throws java.security.cert.CertificateException {    
                 }    
                 public void checkServerTrusted(java.security.cert.X509Certificate[] chain,    
                             String authType) throws java.security.cert.CertificateException {    
                 }    
           } };  
         
          
 
   SSLContext context = SSLContext.getInstance("TLS");
   context.init(null, trustAllCerts, null);

     //你的服务器端的URL action
   URL url = new URL("https://192.168.111.11:8443/TomcatPro/login.do?action=log");

   HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();
   urlConnection.setSSLSocketFactory(context.getSocketFactory());
   urlConnection.setDoInput(true);
   urlConnection.setDoOutput(true);
   urlConnection.setUseCaches(false);
  // urlConnection.setRequestProperty("Accept","image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/x-ms-xbap, application/x-ms-application, application/vnd.ms-xpsdocument, *
  // urlConnection.setRequestProperty("connection", "Keep-Alive");
//   urlConnection.setRequestProperty("Cache-Control","no-cache");
   urlConnection.setRequestMethod(POST);
   urlConnection.setConnectTimeout(timeoutConnection);
   urlConnection.setReadTimeout(timeoutConnection);
   urlConnection.setRequestProperty("Charsert", "UTF-8");

    
     //
   urlConnection.setRequestProperty("Content-Type",
      "multipart/form-data;boundary=" + "---------------------------7dc5812220924");

   File uploadFile = new File("/sdcard/aaaaaaaaaaaaa.txt");
String filename = uploadFile.getName();
   
DataOutputStream dos = new DataOutputStream(urlConnection.getOutputStream());
   
dos.write(("--"+"---------------------------7dc5812220924"+"\r\n").getBytes());
     dos.write("Content-Disposition: form-data; name=\"name\"".getBytes());
     dos.write("\r\n".getBytes());
     dos.write(("Content-Type: text/plain; charset=" + UTF_8).getBytes());
     dos.write("\r\n".getBytes());
     dos.write("\r\n".getBytes());
     dos.write("bill".getBytes());
     dos.write("\r\n".getBytes());

      //passwd属性
     dos.write(("--"+"---------------------------7dc5812220924"+"\r\n").getBytes());
     dos.write("Content-Disposition: form-data; name=\"passwd\"".getBytes());
     dos.write("\r\n".getBytes());
     dos.write(("Content-Type: text/plain; charset=" + UTF_8).getBytes());
     dos.write("\r\n".getBytes());
     dos.write("\r\n".getBytes());
     dos.write("pass".getBytes());
     dos.write("\r\n".getBytes());
    
    
    
    
    
//下边是写入文件
   StringBuffer sb = new StringBuffer();
   sb.append("--"+"---------------------------7dc5812220924"+"\r\n");

   sb.append("Content-Disposition: form-data;name=\"file\";filename=\""+ "aaaaaaaaaaaaa.txt" + "\"\r\n");//这里的name就是action里的File uploadFile
   sb.append("Content-Type:application/octet-stream\r\n\r\n");
   //sb.append("Content-Type: text/plain"); 
   dos.write(sb.toString().getBytes());
     FileInputStream fileInput = new FileInputStream(uploadFile);
     byte buffer[] = new byte[1024]; 
     int readBytes = 0;
     while ((readBytes = fileInput.read(buffer))!=-1) {
    
      dos.write(buffer,0,readBytes);
}
     dos.write("\r\n".getBytes());
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值