代码备用:
由chrome浏览器的开发人员工具获取请求的sCookies,模拟将军的一系列操作
加密类:
依赖库:commons-codec-1.6.jar
package com.hry.base64; import java.io.UnsupportedEncodingException; public class SendRequest2 { public static void main(String[] args) throws Exception{ String t = "3acdf44c-0a4d-4ef4-99b9-1f0d170f7117".substring(0,8); // String s = "n52Jks/b7vqWWjD0+EL/j8X8UqV8+Y+tybEmvlGO"; // String s = "nJ+OyoCPvr6ADXf1+Bn31Jqq"; // String s = "lZmImK2GtLvSUie0pRT2uJuhDo8+gNzijL965BClLCsFELaJaRij8mkaSf8vjO3BUC3Fj345b1DyG6kULnY9k1WEkUMcpv5XYp7Zpd0uwo1wfwcCqTFA6Ydx2yFdC4NfiUhbFNkMv2mViuv3qFM3XkyiS3Vzbps9m7zrI5ZfbzYpoy9lKUmJHClOJtByDqzmTWj2Bz57bpg1nZpVL72SHubBj4haK6KeEd0fJHpuscjL0grt6bgpN1ay0bBSz1JO0UxWx15a8Xh7MrpdqIgZ1wYiEWCi70J+kTzm545KMajrEioNa5hJ9/aSURCyj3IuUaw2h/66cdgbclr9Kui5l6YCkcCCr2LeERxGpy6qsQiLUrs="; // String s = ""; String s = "lZmImK2GtLvSUie0pRT2uJuhDo8+gNjijL965BClLCsFELaJZBij8mkaSf8vjO3BUC3Fg345b1DyG6kULnY9k1WFkUMcpv5XYp7Zpd0uwopwbgUC4DVG89shlmZOHspKmE5UKN5DrnzbtI31sT8yS1vgBSB6c54ijP+6ZNAWLmpP/386bkbqcy5OTcxvCq3mSXDqak9mBpwq9IZKLrabF/PejZxfKr2WCcAaO3NopciioxWE5aBGK0quzLNOzEwjoFAhwl4x7WQWQ6YqrYhyyxo+DXy+814T4CCR4Y4hLbSGYzZ6bZgi6+qOTQyuk25DILBBgP7RbcR2A0aKLejSi7oejdyes36zYAAxry7BrRTmI9ba7fiCqwruzeyOUw7joOGcFVPZuLVX2GV0rsLyEY9vDKf4eV7vyThvJQyHKQ=="; //out.println(); // decode(s,"utf-8","utf-8",null); //// // System.out.println(); // decode(s,"gbk","gbk",null); // // System.out.println(); // decode(s,"utf-8","gbk",null); // // System.out.println(); // decode(s,"gbk","utf-8",null); System.out.println(); System.out.println("s = " + s); String sDestr = decode(s,"ISO-8859-1","utf-8",null); System.out.println("sDestr = " +sDestr); sDestr = decode(s,"ISO-8859-1","gbk",null); System.out.println("sDestr = " +sDestr); // sDestr = "base=17323&pos=11&act=upgrade"; encode(sDestr,"ISO-8859-1","utf-8",null); // decode(s,"gb2312","utf-8",null); } public static String decode(String s, String sBase64Code,String sByteCode,String decoe) throws UnsupportedEncodingException{ // String s = "n52Jks/b7vqWWjD0+EL/j8X8UqV8+Y+tybEmvlGO"; // String sDecode = Base64.decode(s,sBase64Code); // String sDecode = org.apache.commons.codec.binary.Base64.decodeBase64(s); // String sDecode = new String(Base64_2.decode().decode(s.getBytes(sBase64Code))); // System.out.println(sDecode); byte[] param1 = org.apache.commons.codec.binary.Base64.decodeBase64(s.getBytes("ISO-8859-1"));// sDecode.getBytes(sBase64Code); param1 = decode(param1); // System.out.println(new String(param1,"UTF-8")); System.out.println(new String(param1,"gbk")); // System.out.println(new String(param1,"gb2312")); return new String(param1,"UTF-8"); } // public static byte[] decode(byte[] param1 ){ // byte loc_3 = 1; // byte loc_4 = 1; // byte loc_5 = 0; // byte loc_7 = 0; // // while(loc_5 < param1.length){ // int loc_6 = param1[loc_5]; // loc_6 = ~(loc_6^loc_3); // // loc_7 = (byte)( loc_3 + loc_4); // loc_3 = loc_4; // loc_4 = loc_7; // // param1[loc_5] = (byte)loc_6; // loc_5 ++; // } // return param1; // } public static byte[] decode(byte[] param1 ){ byte[] loc_2 = new byte[param1.length]; int loc_3 = 2; int loc_4 = 3; int loc_5 = 0; int loc_7 = 0; int loc_6 = 0; while(loc_5 < param1.length){ loc_6 = param1[loc_5]; loc_6 = ~(loc_6^loc_3); loc_2[loc_5] = (byte)loc_6; loc_7 = ( loc_3 + loc_4); loc_3 = loc_4; loc_4 = loc_7; loc_5 ++; } return loc_2; } public static String encode(String s, String sBase64Code,String sByteCode,String decoe) throws UnsupportedEncodingException{ byte[] param1 = s.getBytes(sBase64Code); param1 = decode(param1); // System.out.println(Base64.encode(new String(param1,"UTF-8"))); byte[] b = org.apache.commons.codec.binary.Base64.encodeBase64(param1); // System.out.println(Base64.encode(new String(param1,"gbk"))); // System.out.println(Base64.encode(new String(param1,"gb2312"))); System.out.println("b = " + new String(b)); return new String(b,"gbk"); } // public static byte[] encode(byte[] param1 ){ // // byte[] loc_4 = new byte[param1.length]; // // int loc_2 = 2; // int loc_3 = 3; // int loc_5 = 0; // int loc_6 = 0; // int loc_7 = 0; // // // while(loc_5 < param1.length){ // loc_6 = param1[loc_5]; // loc_6 = ~loc_6^loc_3; // loc_4[loc_5] = (byte)loc_6; // loc_7 = ( loc_2 + loc_3); // loc_2 = loc_3; // loc_3 = loc_7; // loc_5 ++; // } // return loc_4; // } // var _loc_6:int; // var _loc_7:int; // param1.position = 0; // var _loc_2:* = new ByteArray(); // var _loc_3:int; // var _loc_4:int; // var _loc_5:int; // while (_loc_5 < param1.length) // { // // label // _loc_6 = param1.readByte(); // _loc_6 = ~(_loc_6 ^ _loc_3); // _loc_2.writeByte(_loc_6); // _loc_7 = _loc_3 + _loc_4; // _loc_3 = _loc_4; // _loc_4 = _loc_7; // _loc_5++; // }// end while // return _loc_2; // }// end function }
存储返回类的值:
Result
package com.hry.httpclient; import java.io.UnsupportedEncodingException; import org.apache.http.Header; import org.apache.http.StatusLine; import org.apache.http.client.CookieStore; import org.apache.http.cookie.Cookie; import com.hry.base64.SendRequest2; public class Result { private StatusLine statusLine; private CookieStore cookieStore; // private HttpEntity entity; private String sContent; private Header[] headers; public String toString(){ StringBuilder sb = new StringBuilder(); // StatusLine sb.append(statusLine).append("\r\n"); // header for(Header o : headers){ sb.append(o.getName()).append("=").append(o.getValue()).append("\r\n"); } sb.append("......"); // entity try { sb.append(SendRequest2.decode(sContent,"ISO-8859-1","gbk",null)).append("\r\n"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } sb.append("......"); // Cookies for(Cookie o : cookieStore.getCookies()){ sb.append(o.getName()).append("=").append(o.getValue()).append("\r\n"); } return sb.toString(); } public String getCookie(String name){ // Cookies for(Cookie o : cookieStore.getCookies()){ if(o.getName().equalsIgnoreCase(name)){ return o.getValue(); } } return ""; } public StatusLine getStatusLine() { return statusLine; } public void setStatusLine(StatusLine statusLine) { this.statusLine = statusLine; } public CookieStore getCookieStore() { return cookieStore; } public void setCookieStore(CookieStore cookieStore) { this.cookieStore = cookieStore; } public String getsContent() { return sContent; } public void setsContent(String sContent) { this.sContent = sContent; } public Header[] getHeaders() { return headers; } public void setHeaders(Header[] headers) { this.headers = headers; } }
获取HTTPClient类 HttpConnectionManager
package com.hry.jianjun; import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.params.ConnManagerParams; import org.apache.http.conn.params.ConnPerRouteBean; import org.apache.http.conn.scheme.PlainSocketFactory; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.scheme.SchemeRegistry; import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; public class HttpConnectionManager { private static HttpParams httpParams; private static ClientConnectionManager connectionManager; private static DefaultHttpClient c = null; /** * 最大连接数 */ public final static int MAX_TOTAL_CONNECTIONS = 800; /** * 获取连接的最大等待时间 */ public final static int WAIT_TIMEOUT = 60000; /** * 每个路由最大连接数 */ public final static int MAX_ROUTE_CONNECTIONS = 400; /** * 连接超时时间 */ public final static int CONNECT_TIMEOUT = 10000; /** * 读取超时时间 */ public final static int READ_TIMEOUT = 10000; static { httpParams = new BasicHttpParams(); // 设置最大连接数 ConnManagerParams.setMaxTotalConnections(httpParams, MAX_TOTAL_CONNECTIONS); // 设置获取连接的最大等待时间 ConnManagerParams.setTimeout(httpParams, WAIT_TIMEOUT); // 设置每个路由最大连接数 ConnPerRouteBean connPerRoute = new ConnPerRouteBean(MAX_ROUTE_CONNECTIONS); ConnManagerParams.setMaxConnectionsPerRoute(httpParams,connPerRoute); // 设置连接超时时间 HttpConnectionParams.setConnectionTimeout(httpParams, CONNECT_TIMEOUT); // 设置读取超时时间 HttpConnectionParams.setSoTimeout(httpParams, READ_TIMEOUT); SchemeRegistry registry = new SchemeRegistry(); registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); registry.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443)); connectionManager = new ThreadSafeClientConnManager(httpParams, registry); } public synchronized static DefaultHttpClient getHttpClient() { if(c == null){ c = new DefaultHttpClient(connectionManager, httpParams); } return c; } }
将军具体模拟请求:JiangJunMethodOne
package com.hry.jianjun; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.CookieStore; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.cookie.BasicClientCookie; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import com.hry.base64.SendRequest2; import com.hry.httpclient.Result; public class JiangJunMethodOne { public Result getGongxun(String py, String p,String t, Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ // String sUrl = "http://s2.jj.ifeng.com/ifeng_s2/need.py"; StringBuilder sb = new StringBuilder(256); sb.append("http://s2.jj.ifeng.com/ifeng_s2/"+py); DefaultHttpClient client = HttpConnectionManager.getHttpClient(); // 代理 if(isPropxy){ HttpHost proxy = new HttpHost("10.36.24.20", 60001); client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); } List<NameValuePair> formparams = new ArrayList<NameValuePair>(); formparams.add(new BasicNameValuePair("p", p)); formparams.add(new BasicNameValuePair("t", t)); formparams.add(new BasicNameValuePair("e", "1")); UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8"); // client.getCookieStore() this.setCookie(m, client.getCookieStore()); HttpPost post = new HttpPost(sb.toString()); post.setEntity(entity); System.out.println("url = " + post.getURI()); System.out.println("p = " + p); System.out.println("t = " + t); // 设置url?a=b&ac=b模式 // post.setEntity(new UrlEncodedFormEntity(list,"UTF-8")); //实行请求并返回 HttpResponse response = client.execute(post); // 设置返回数据 Result result = new Result(); result.setCookieStore(client.getCookieStore()); result.setsContent(EntityUtils.toString(response.getEntity())); result.setHeaders(response.getAllHeaders()); result.setStatusLine(response.getStatusLine()); // 释放 post.releaseConnection(); return result; } /** * 设置cookies值 * @param sCookies * @param Cookies */ public void setCookie( Map<String,String> m, CookieStore oCookieStore){ Iterator<String> itr = m.keySet().iterator(); while(itr.hasNext()){ String sKey = itr.next(); oCookieStore.addCookie(new BasicClientCookie(sKey,m.get(sKey))); } } public static void main(String[] args) throws ClientProtocolException, IOException, InterruptedException{ boolean isPropxy = true; JiangJunMethodOne jj = new JiangJunMethodOne(); // // // System.out.println("........getGongxun"); // String sCookies = ""; // // decode(s,"ISO-8859-1","utf-8",null); need.py // String p = SendRequest2.encode("ref=honour&base=5308", "ISO-8859-1","utf-8",null); // String t = ""; // Result rs = new JiangJunMethodOne().getGongxun("need.py",p,t, sCookies, isPropxy); // System.out.println(rs.toString()); String sCookies = "vjuids=739ce8ab0.1302fac3a1b.0.87aad6fd; ilocid=1030; ilocidflag=1; ALLYESID4=030D1FE4EA6B9F15; im_mid=p7bzP; samemappingcookie=m; prov=cn0571; city=0571; weather_city=zj_hz; py_map=1; Q37_visitedfid=284D590D144D218D428D550D618D424D141D342D161; ApV_visitedfid=149D148; ApV_dzSid=cgE6R4; smile=1D1; vjlast=1338977897.1339028331.13; _plst[_plid_]=1844039754; sid=0FA82E78B1D58885297EBA246B58D8EAhuangrongyou1; userid=1339114056959_3797; if_play_IF_GAME_HISTORY_1=jj; if_play_u=YgarsqcmgTbVQfqYkPlsmuSGrxZe; username=ifeng222859; sign=4c7833aa48355b960869f580665e8359; uid=22859; lgtime=1339113904; indulge=1; ticket=c844c747-eccb-4577-ae1e-58b4afca97ab"; Map<String,String> m = JiangJunMethodOne.cookie2Map(sCookies); System.out.println(m); //领取功勋 // int num = 10; // while(num-- > 0){ // jj.getGongxun(m, isPropxy); // Thread.sleep(1000 * 10 * 60); // } //军官培训 // jj.getTran(m, isPropxy); // 制造军队 // jj.getArmy(m, isPropxy); // 制造建筑 // jj.getbldg(m, isPropxy); // 军工生产 // jj.getJunGongShengChang(m, isPropxy); // String p = SendRequest2.encode("ref=honour&base=5308", "ISO-8859-1","utf-8",null); // 战役 jj.getZhanyi(m, isPropxy); } public void getZhanyi(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ int num = 20; int iBegin = 178; while(num -- > 0){ String p = "hero_list=12804_133_0_6,13032_133_0_9,15384_133_-1_4,32844_232_4_7,32909_232_4_2&act=attack&pve="+iBegin+"&base=19546&pattern_list=[[3,[0,12804,0,13032,32909,32844,0,15384,0]],[4,[0,32909,0,15384,0,12804,32844,0,13032]],[5,[0,0,0,0,0,0,0,0,0]],[6,[0,0,0,0,0,0,0,0,0]],[7,[0,0,0,0,0,0,0,0,0]],[8,[0,0,0,0,0,0,0,0,0]]]&pattern=4"; p = SendRequest2.encode(p, "ISO-8859-1","utf-8",null); String t = m.get("ticket"); String py = "pve.py"; Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); iBegin++; try { Thread.sleep(1000 * 120); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public void getJunGongShengChang(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ String t = m.get("ticket"); String py = "need.py"; int num = 8; while(num -- > 0){ String p = "act=make&type=1&ref=component&base=17323&incident=0"; p = SendRequest2.encode(p, "ISO-8859-1","utf-8",null); try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); } } public void getbldg(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ String[] bases = { // "5308", // "13205", // "15759", "16368", "17323", "19546" }; String t = m.get("ticket"); String py = "bldg.py"; for(String base : bases){ for(int pos = 1; pos <= 14; pos++){ String p = "act=upgrade&base="+base+"&pos="+pos; p = SendRequest2.encode(p, "ISO-8859-1","utf-8",null); try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); } } } public void getArmy(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ String[] bases = { "5308", "13205", "15759", "16368", "17323", "19546" }; String[] arys = { "101","202","301","402" }; String t = m.get("ticket"); String py = "army.py"; for(String base : bases){ for(String ary : arys){ int num = 1; // 普拉托 17323 ,二级坦克 if(ary.equalsIgnoreCase("202")){ if(base.equalsIgnoreCase("17323") ){ num = 5; } } while(num-- > 0){ String p = "ref=army&count=100&base="+base+"&act=recruit&army="+ary; p = SendRequest2.encode(p, "ISO-8859-1","utf-8",null); try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); } } } } public void getTran(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ String[] ps = { "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfrTubQA=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfrXmbgY=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfrPlZQA=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfLThZAI=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfLTuaQA=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfLTvbQ0=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLe7fuaQU=" }; for(String p : ps){ //String p = "nJ+OypWPqe7UCnC79UusiN/gG7JvrIvziL967w=="; String t = m.get("ticket"); String py = "school.py"; try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); } } public void getGongxun(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ String p = "nJ+OypWPqe7UCnC79UusiN/gG7JvrIvziL967w=="; String t = m.get("ticket"); String py = "need.py"; Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); } public static Map<String,String> cookie2Map(String sCookies){ Map<String,String> m = new HashMap<String,String>(); String[] ts = sCookies.split(";"); for(String o : ts){ String t = o.trim(); int idyIndex = t.indexOf("="); m.put(t.substring(0,idyIndex),t.substring(idyIndex+1, t.length())); } return m; } }
将军UI:JJUI
package com.hry.jianjun; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.CookieStore; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.cookie.BasicClientCookie; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import com.hry.base64.SendRequest2; import com.hry.httpclient.Result; public class JiangJunMethodOne { public Result getGongxun(String py, String p,String t, Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ // String sUrl = "http://s2.jj.ifeng.com/ifeng_s2/need.py"; StringBuilder sb = new StringBuilder(256); sb.append("http://s2.jj.ifeng.com/ifeng_s2/"+py); DefaultHttpClient client = HttpConnectionManager.getHttpClient(); // 代理 if(isPropxy){ HttpHost proxy = new HttpHost("10.36.24.20", 60001); client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); } List<NameValuePair> formparams = new ArrayList<NameValuePair>(); formparams.add(new BasicNameValuePair("p", p)); formparams.add(new BasicNameValuePair("t", t)); formparams.add(new BasicNameValuePair("e", "1")); UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8"); // client.getCookieStore() this.setCookie(m, client.getCookieStore()); HttpPost post = new HttpPost(sb.toString()); post.setEntity(entity); System.out.println("url = " + post.getURI()); System.out.println("p = " + p); System.out.println("t = " + t); // 设置url?a=b&ac=b模式 // post.setEntity(new UrlEncodedFormEntity(list,"UTF-8")); //实行请求并返回 HttpResponse response = client.execute(post); // 设置返回数据 Result result = new Result(); result.setCookieStore(client.getCookieStore()); result.setsContent(EntityUtils.toString(response.getEntity())); result.setHeaders(response.getAllHeaders()); result.setStatusLine(response.getStatusLine()); // 释放 post.releaseConnection(); return result; } /** * 设置cookies值 * @param sCookies * @param Cookies */ public void setCookie( Map<String,String> m, CookieStore oCookieStore){ Iterator<String> itr = m.keySet().iterator(); while(itr.hasNext()){ String sKey = itr.next(); oCookieStore.addCookie(new BasicClientCookie(sKey,m.get(sKey))); } } public static void main(String[] args) throws ClientProtocolException, IOException, InterruptedException{ boolean isPropxy = true; JiangJunMethodOne jj = new JiangJunMethodOne(); // // // System.out.println("........getGongxun"); // String sCookies = ""; // // decode(s,"ISO-8859-1","utf-8",null); need.py // String p = SendRequest2.encode("ref=honour&base=5308", "ISO-8859-1","utf-8",null); // String t = ""; // Result rs = new JiangJunMethodOne().getGongxun("need.py",p,t, sCookies, isPropxy); // System.out.println(rs.toString()); String sCookies = "vjuids=739ce8ab0.1302fac3a1b.0.87aad6fd; ilocid=1030; ilocidflag=1; ALLYESID4=030D1FE4EA6B9F15; im_mid=p7bzP; samemappingcookie=m; prov=cn0571; city=0571; weather_city=zj_hz; py_map=1; Q37_visitedfid=284D590D144D218D428D550D618D424D141D342D161; ApV_visitedfid=149D148; ApV_dzSid=cgE6R4; smile=1D1; vjlast=1338977897.1339028331.13; _plst[_plid_]=1844039754; sid=0FA82E78B1D58885297EBA246B58D8EAhuangrongyou1; userid=1339114056959_3797; if_play_IF_GAME_HISTORY_1=jj; if_play_u=YgarsqcmgTbVQfqYkPlsmuSGrxZe; username=ifeng222859; sign=4c7833aa48355b960869f580665e8359; uid=22859; lgtime=1339113904; indulge=1; ticket=c844c747-eccb-4577-ae1e-58b4afca97ab"; Map<String,String> m = JiangJunMethodOne.cookie2Map(sCookies); System.out.println(m); //领取功勋 // int num = 10; // while(num-- > 0){ // jj.getGongxun(m, isPropxy); // Thread.sleep(1000 * 10 * 60); // } //军官培训 // jj.getTran(m, isPropxy); // 制造军队 // jj.getArmy(m, isPropxy); // 制造建筑 // jj.getbldg(m, isPropxy); // 军工生产 // jj.getJunGongShengChang(m, isPropxy); // String p = SendRequest2.encode("ref=honour&base=5308", "ISO-8859-1","utf-8",null); // 战役 jj.getZhanyi(m, isPropxy); } public void getZhanyi(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ int num = 20; int iBegin = 178; while(num -- > 0){ String p = "hero_list=12804_133_0_6,13032_133_0_9,15384_133_-1_4,32844_232_4_7,32909_232_4_2&act=attack&pve="+iBegin+"&base=19546&pattern_list=[[3,[0,12804,0,13032,32909,32844,0,15384,0]],[4,[0,32909,0,15384,0,12804,32844,0,13032]],[5,[0,0,0,0,0,0,0,0,0]],[6,[0,0,0,0,0,0,0,0,0]],[7,[0,0,0,0,0,0,0,0,0]],[8,[0,0,0,0,0,0,0,0,0]]]&pattern=4"; p = SendRequest2.encode(p, "ISO-8859-1","utf-8",null); String t = m.get("ticket"); String py = "pve.py"; Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); iBegin++; try { Thread.sleep(1000 * 120); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public void getJunGongShengChang(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ String t = m.get("ticket"); String py = "need.py"; int num = 8; while(num -- > 0){ String p = "act=make&type=1&ref=component&base=17323&incident=0"; p = SendRequest2.encode(p, "ISO-8859-1","utf-8",null); try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); } } public void getbldg(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ String[] bases = { // "5308", // "13205", // "15759", "16368", "17323", "19546" }; String t = m.get("ticket"); String py = "bldg.py"; for(String base : bases){ for(int pos = 1; pos <= 14; pos++){ String p = "act=upgrade&base="+base+"&pos="+pos; p = SendRequest2.encode(p, "ISO-8859-1","utf-8",null); try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); } } } public void getArmy(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ String[] bases = { "5308", "13205", "15759", "16368", "17323", "19546" }; String[] arys = { "101","202","301","402" }; String t = m.get("ticket"); String py = "army.py"; for(String base : bases){ for(String ary : arys){ int num = 1; // 普拉托 17323 ,二级坦克 if(ary.equalsIgnoreCase("202")){ if(base.equalsIgnoreCase("17323") ){ num = 5; } } while(num-- > 0){ String p = "ref=army&count=100&base="+base+"&act=recruit&army="+ary; p = SendRequest2.encode(p, "ISO-8859-1","utf-8",null); try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); } } } } public void getTran(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ String[] ps = { "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfrTubQA=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfrXmbgY=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfrPlZQA=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfLThZAI=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfLTuaQA=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLfLTvbQ0=", "n52Jks/b6vuUXDDn/lD/k9jzVL4ot4G7z7Fy8Uqfb3cLe7fuaQU=" }; for(String p : ps){ //String p = "nJ+OypWPqe7UCnC79UusiN/gG7JvrIvziL967w=="; String t = m.get("ticket"); String py = "school.py"; try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); } } public void getGongxun(Map<String,String> m,boolean isPropxy) throws ClientProtocolException, IOException{ String p = "nJ+OypWPqe7UCnC79UusiN/gG7JvrIvziL967w=="; String t = m.get("ticket"); String py = "need.py"; Result rs = new JiangJunMethodOne().getGongxun(py,p,t, m, isPropxy); System.out.println(rs); } public static Map<String,String> cookie2Map(String sCookies){ Map<String,String> m = new HashMap<String,String>(); String[] ts = sCookies.split(";"); for(String o : ts){ String t = o.trim(); int idyIndex = t.indexOf("="); m.put(t.substring(0,idyIndex),t.substring(idyIndex+1, t.length())); } return m; } }