代码备用:
由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;
}
}