protected void ssoLogin1(SimpleObject context) {
   Request req1 = ContextUtil.getRequest(context);
   Integer scode = (Integer) req1.getExtra(Request.STATUS_CODE);
   if (HttpUtil.isMovedStatusCode(scode)) {
     HttpResponse resp = ContextUtil.getResponse(context);
     Header h1 = resp.getFirstHeader("Location");
     String nexturl = h1.getValue();
     if (nexturl == null) {
       logger.error("Error : No Redirect URL");
     } else {
       Request req = new Request(nexturl);
       req.setCharset(UAM_CHAR_SET);
       req.addObjservers(
           new AbstractProcessorObserver(util, WaringConstaint.ZGDX_7) {
             @Override
             public void afterRequest(SimpleObject context) {
               ssoLogin1(context);
             }
           });
       spider.addRequest(req);
     }
   } else {
     endSSOLogin(context);
   }
 }
 protected void parseLoginPage(SimpleObject context, final String prefix, final String phone) {
   Request req1 = ContextUtil.getRequest(context);
   Integer scode = (Integer) req1.getExtra(Request.STATUS_CODE);
   // DebugUtil.printCookieData(ContextUtil.getCookieStore(context), null);
   if (HttpUtil.isMovedStatusCode(scode)) {
     HttpResponse resp = ContextUtil.getResponse(context);
     Header h1 = resp.getFirstHeader("Location");
     String nexturl = h1.getValue();
     if (nexturl == null) {
       logger.error("Error : No Redirect URL");
     } else {
       nexturl = fixedFullUrl(nexturl);
       Request req = new Request(nexturl.replaceAll(" ", "%20"));
       req.setCharset(UAM_CHAR_SET);
       req.putHeader("Referer", "http://www.189.cn/dqmh/login/loginJT.jsp");
       req.addObjservers(
           new AbstractProcessorObserver(util, WaringConstaint.ZGDX_2) {
             @Override
             public void afterRequest(SimpleObject context) {
               parseLoginPage(context, prefix, phone);
             }
           });
       spider.addRequest(req);
     }
   } else {
     if (prefix != null) {
       // com.lkb.debug.DebugUtil.printCookieData(ContextUtil.getCookieStore(context), null);
       saveVerifyImage(context, prefix, phone);
     } else {
       parseLoginStep2(context);
     }
   }
 }
 private void ssoLogin2(SimpleObject context) {
   Request req1 = ContextUtil.getRequest(context);
   Integer scode = (Integer) req1.getExtra(Request.STATUS_CODE);
   if (HttpUtil.isMovedStatusCode(scode)) {
     HttpResponse resp = ContextUtil.getResponse(context);
     Header h1 = resp.getFirstHeader("Location");
     String nexturl = h1.getValue();
     if (nexturl == null) {
       logger.error("Error : No Redirect URL");
     } else {
       ssoLogin2(context);
     }
   } else {
     completeLogin(context);
   }
 }