为了验证的安全, 有些应用 会对headers设置cookie 才能进行以后的操作。网上查阅了很多资料,自己也走了些弯路 总算搞出来了 。直接上代码

class NetThr    {       public static String sessionid=null;              //请求的url ,json数据, 服务的类型(获取cookie)   public void  netThr(String svrurl, String message,int svrType) {String svraddr = "";            svraddr = svrurl.replace(" ", "%20");URL svr = new URL(svraddr);if (message == null)            message = "";try {HttpURLConnection httpreq = (HttpURLConnection) svr.openConnection();httpreq.setConnectTimeout(60000);httpreq.setReadTimeout(60000);if (message.length() > 0)httpreq.setRequestMethod("POST");elsehttpreq.setRequestMethod("GET");httpreq.setDoInput(true);if (message.length() > 0) {httpreq.setDoOutput(true); httpreq.setRequestProperty("Charset", "UTF-8");httpreq.setRequestProperty("Content-length", "" + message.getBytes("UTF-8").length);httpreq.setRequestProperty("Content-Type", "application/json");}if (sessionid!=null&&svrType!=HandleRespFun.API_TYPE_GETCOOKIE){                        //设置Cookie 到 Headers httpreq.setRequestProperty("Cookie",sessionid);}httpreq.connect();if (message.length() > 0) {OutputStream os = httpreq.getOutputStream();DataOutputStream dos = new DataOutputStream(os);dos.write(message.getBytes("UTF-8"));dos.close();}//返回的headers 例子//Content-Typeapplication/json            //        Set-Cookieapi_authenticated=1            //        Set-Cookieuser_authenticated=1            //        Set-CookieJSESSIONID=16i51l7jwmodpb1u1jfpdk0pg;Path=/laundry            //        ExpiresThu, 01 Jan 1970 00:00:00 GMT            //        Content-Length175            //        ServerJetty(9.2.3.v20140905)            //        DateTue, 27 Jan 2015 02:32:09 GMT      //获取Cookie      if(svrType==HandleRespFun.API_TYPE_GETCOOKIE){Map<String, List<String>> kk = httpreq.getHeaderFields();List<String> cook = kk.get("Set-Cookie");if(cook!=null){for (String onecook : cook) {Log.v("Jashon", "Cookie is:" + onecook);if (onecook.contains("JSESSIONID")){                            //sessionid=JSESSIONID=16i51l7jwmodpb1u1jfpdk0pgsessionid=onecook.split(";")[0];}}}}}}
之前的时候 截取 sessionid部分截取错了 这里要注意一下哦。代码有点乱,不过主要方法逻辑 还是清晰的 希望能帮到一些盆友 自己以后也会用得着

更多相关文章

  1. Android(安卓)Intent的几种用法全面总结
  2. android优化实战(一)-从递归到迭代
  3. Android(安卓)Kotlin的使用及简单实例
  4. system 权限程序不能访问sd卡问题
  5. Android热修复(微信tinker的集成)
  6. 让低版本的 Android(安卓)项目显示出 Material 风格的点击效果
  7. Android实现Splash界面全屏效果
  8. android 横向滑动多屏(开源项目)
  9. 兼容性(一) - 使代码向前兼容SDK版本

随机推荐

  1. Android(安卓)monkeyrunner自动化测试
  2. 彻底解决Android(安卓)拍照 内存溢出 Out
  3. Android(安卓)两大加载图片框架(Glide、Pi
  4. Android动态权限申请
  5. Android(安卓)retrofit2.0 raw请求
  6. 深度技术分析“为什么ios比android流畅”
  7. Android开发入门之路(续篇)
  8. Android图标尺寸的约定
  9. 自学android, java, html, css, php, mys
  10. Android集成支付----微信支付总结与封装