java实现模拟登录itunes后台收入,抓取收入数据,校对收入

来源:互联网 发布:东莞php网站开发 编辑:程序博客网 时间:2024/05/17 08:02

由于自己后台记录的充值数据和苹果的结算数据有出入,所以需要做一个功能实现抓取每日苹果收入数据,按月结算,和自己内部记录的充值数据做对比算坏账,实现了掉线获取cookie重新登录功能,抓取每日收入,贴上主要代码供参考:

package ;


import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import javax.net.ssl.HttpsURLConnection;


import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.http.protocol.HTTP;
import org.junit.Test;


import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
import ch.qos.logback.core.rolling.RollingFileAppender;
import ch.qos.logback.core.rolling.TimeBasedRollingPolicy;
import org.slf4j.LoggerFactory;


import com.google.gson.Gson;
import com.wyx.itunes.bean.ChargeInfo;
import com.wyx.itunes.util.TimeUtil;
import com.wyx.itunes.util.UtcTimeUtil;
//对接口进行测试
public class CommonRequest {
private String url = "https://reportingitc2.apple.com/api/data/timeseries";
private String charset = HTTP.UTF_8;
private HttpClientUtil httpClientUtil = null;
static Logger logger = null;
public HashMap<String, Logger> loggerMap = new HashMap<String, Logger>();
private final static org.slf4j.Logger logg = org.slf4j.LoggerFactory.getLogger(CommonRequest.class); 
public static String myacinfo;
public static String itctx;
public CommonRequest(){
httpClientUtil = new HttpClientUtil();
}
static {
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
logger = loggerContext.getLogger("log-itunes-info");
}




@Test
public void getLoggerPost(){
String day = UtcTimeUtil.getUTCDayofMonth();//2016-06-01T04:13:18
if(myacinfo == null || itctx == null){
authLogin();
getLoggerByType("status").info(TimeUtil.getDateTime()+" myacinfo="+myacinfo);
getLoggerByType("status").info(TimeUtil.getDateTime()+" itctx="+itctx);
}
String httpOrgCreateTest = url;//TimeUtil.getLastETC()+".000Z"  TimeUtil.getDateTimeETC()+".000Z"
ChargeInfo info;
if(day.equals("1")){
info = new ChargeInfo(new Integer[]{}, null, "day", UtcTimeUtil.getMonthFirstUtc1()+".000Z",UtcTimeUtil.getMonthYesterUtc()+".000Z", "descending", 100, new String[]{"units_utc","Royalty_utc","total_tax_usd_utc"});
}else{
info = new ChargeInfo(new Integer[]{}, null, "day",UtcTimeUtil.getMonthFirstUtc()+".000Z" ,UtcTimeUtil.getMonthYesterUtc()+".000Z", "descending", 100, new String[]{"units_utc","Royalty_utc","total_tax_usd_utc"});
}

Gson gson = new Gson();
String jsonStr = gson.toJson(info);

String resData = httpClientUtil.doPost(httpOrgCreateTest,jsonStr,info,myacinfo,itctx);
System.out.println(resData);
getLoggerByType("1001001").info(TimeUtil.getDateTime()+url+"  "+resData);
}


@Test
public void authLogin(){
String urlLogin = "https://idmsa.apple.com/appleauth/auth/signin?widgetKey=22d448248055bab0dc197c6271d738c3";
String itunesConn = "https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa?";
Map<String,Object> param = new HashMap<>();
param.put("accountName", "账号");
param.put("password", "密码");
param.put("rememberMe", false);
Gson gson = new Gson();
String jsonStr = gson.toJson(param);

String resData = httpClientUtil.autoLogin(urlLogin,jsonStr,charset);//myacinfo  获取登录cookie
String resConn = httpClientUtil.doCommonCookieGet(itunesConn, resData, charset);

myacinfo = resData;
itctx = resConn;
System.out.println("myacinfo="+resData);
System.out.println("itctx="+resConn);
getLoggerByType("1001006").info("myacinfo="+resData);
getLoggerByType("1001006").info("itctx="+resConn);
}
 




public Logger getLoggerByType(String type) {
if (type.equals("default")) {
return logger;
}
Logger ret = loggerMap.get(type);
if (ret == null) {
ret = newLogger(type);
loggerMap.put(type, ret);
}
return ret;
}



@SuppressWarnings({ "rawtypes", "unchecked" })
public Logger newLogger(String type) {
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
RollingFileAppender rfAppender = new RollingFileAppender();
rfAppender.setContext(loggerContext);
rfAppender.setFile("logs"+File.separator+type + File.separator + getDay()+".log");
TimeBasedRollingPolicy rollingPolicy = new TimeBasedRollingPolicy();
rollingPolicy.setContext(loggerContext);
rollingPolicy.setParent(rfAppender);
rollingPolicy.setFileNamePattern("logs"+File.separator+type + File.separator + "%d{yyyyMMddHH}.log");
rollingPolicy.start();
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
encoder.setContext(loggerContext);
encoder.setPattern("%msg%n");
encoder.start();
rfAppender.setEncoder(encoder);
rfAppender.setRollingPolicy(rollingPolicy);
rfAppender.start();
Logger logbackLogger = loggerContext.getLogger(type);
logbackLogger.addAppender(rfAppender);
return logbackLogger;
}

public String getDay(){
SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd");
return format.format(new Date(System.currentTimeMillis()));
}


private String url2 = "https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/nav/header/modules";
@Test
public void Test(){//抓取页面
HttpClient httpClient = new HttpClient();
StringBuilder result = new StringBuilder();
InputStream ins = null;


GetMethod method = new GetMethod("https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa?");
headerWrapper(method);
method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false));


try
           {
               int statusCode = httpClient.executeMethod(method);
               if (statusCode == HttpStatus.SC_OK)
               {
                   byte[] ba = method.getResponseBody();
                   Header[] headers = method.getResponseHeaders();
                   String str= new String(ba,"UTF-8");  //得到指定编码格式的字符串
                   System.out.println(str);
               } else
               {
                   System.err.println("Response Code: " + statusCode);
               }
           } catch (Exception e)
           {
               System.err.println("Fatal protocol violation: " + e.getMessage());
           }
}


}



获取cookei后,获取收入数据,插入到数据库

package;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;


import org.apache.commons.httpclient.HttpStatus;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.CookieStore;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.cookie.BasicClientCookie;
import org.apache.http.message.AbstractHttpMessage;
import org.apache.http.message.BasicHeader;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.wyx.itunes.bean.AppChargeInfo;
import com.wyx.itunes.bean.ChargeInfo;
import com.wyx.itunes.dao.AppAdInfoDao;
import com.wyx.itunes.util.ArithUtil;
import com.wyx.itunes.util.TimeUtil;
import com.wyx.itunes.util.UtcTimeUtil;


/*
 * 利用HttpClient进行post请求的工具类
 */
public class HttpClientUtil {
private String charset = HTTP.UTF_8;
public static AppAdInfoDao adDao = new AppAdInfoDao();
public static CommonRequest comReq = new CommonRequest();


public String doCommonGet(String url,HashMap<String,String> hashMap,String charset){
HttpClient httpClient = null;
HttpGet httpPost = null;
String result = null;
try{
httpClient = new SSLClient();
httpPost = new HttpGet(url);
headerWrapper(httpPost);
httpPost.setHeader("Content-Type","application/json");
//设置参数
List<NameValuePair> list = new ArrayList<NameValuePair>();
Iterator iterator = hashMap.entrySet().iterator();
while(iterator.hasNext()){
Entry<String,String> elem = (Entry<String, String>) iterator.next();
list.add(new BasicNameValuePair(elem.getKey(),elem.getValue()));
}

/*if(list.size() > 0){
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,charset);
// entity.setContentType("application/json");
httpPost.setEntity(entity);
}*/
// httpPost.addHeader(new BasicHeader("Cookie","ptcz=4c8894d043f471d2def72fbefef85d75eaad4decafe711209337dfd9f3ebeab0; o_cookie=1028654205; pgv_info=ssid=s1118428163; pgv_pvid=2997507780; ptisp=ctc; RK=nCV7YcFyey; pt2gguin=o1028654205; uin=o1028654205; skey=@HDZqNItee; p_uin=o1028654205; p_skey=UclqChxyrJ4MbVmURkM8aB2mCUl4xkg65tLwnoq9q74_; pt4_token=XQv0qzC*qka4XhWNJjuAAxhnaNJYGlEDpy2m5uPpWrk_; ptwebqq=c5b67488323051872fe6a6ab0c4573c614c54fd8c4b8c83a723b03fba50be364"));
HttpResponse response = httpClient.execute(httpPost);

Header[] headers = response.getAllHeaders();
        for (Header h : headers) {
            String name = h.getName();
            String value = h.getValue();
            System.out.println("header : " + h.getName() + ":" + h.getValue());
            if ("Set-Cookie".equalsIgnoreCase(name)) {
                String[] strs = value.split(";");
                for (String str : strs) {
                    String[] cookies = str.split("=");
                    if(cookies.length == 2){
                   System.out.println("=============== : " + cookies[0] + ":"
                            + cookies[1]);
                   if(cookies[0].equals("myacinfo")){
                   cookieMap.put("myacinfo", cookies[1]);
                   }
                    }else{
                   System.out.println("=============== : " + cookies[0]);
                    }
                    if(cookies.length == 2){
                   cs.addCookie(new BasicClientCookie(cookies[0], cookies[1]));
                    }
                }
            }


        }

if(response != null){
HttpEntity resEntity = response.getEntity();
if(resEntity != null){
result = EntityUtils.toString(resEntity,charset);
}
}
System.out.println(response.getStatusLine()+result);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}





public String doCommonPost(String url,HashMap<String,String> hashMap,String charset){
HttpClient httpClient = null;
HttpPost httpPost = null;
String result = null;
try{
httpClient = new SSLClient();
httpPost = new HttpPost(url);
headerWrapper(httpPost);
httpPost.setHeader("Content-Type","application/json");
//设置参数
List<NameValuePair> list = new ArrayList<NameValuePair>();
Iterator iterator = hashMap.entrySet().iterator();
while(iterator.hasNext()){
Entry<String,String> elem = (Entry<String, String>) iterator.next();
list.add(new BasicNameValuePair(elem.getKey(),elem.getValue()));
}

if(list.size() > 0){
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,charset);
// entity.setContentType("application/json");
httpPost.setEntity(entity);
}
httpPost.addHeader(new BasicHeader("Cookie","uin_cookie=1028654205; euin_cookie=96E9DD96A50353D94556956D9AE70BE3423C6511E70B41A0"));
HttpResponse response = httpClient.execute(httpPost);
if(response != null){
HttpEntity resEntity = response.getEntity();
if(resEntity != null){
result = EntityUtils.toString(resEntity,charset);
}
}
System.out.println(response.getStatusLine()+result);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}



public String doPost(String url,String strent,ChargeInfo cinfo,String myacinfo,String itctx){
HttpClient httpClient = null;
HttpPost httpPost = null;
String result = null;
try{
httpClient = new SSLClient();
httpPost = new HttpPost(url);
headerWrapper(httpPost);
httpPost.setHeader("Content-Type","application/json");
StringEntity strEntity = new StringEntity(strent);
httpPost.setEntity(strEntity);//ranked
httpPost.addHeader(new BasicHeader("Cookie","site=CHN; myacinfo="+ myacinfo +"; itctx="+ itctx +"; s_cc=true; s_vi=[CS]v1|2B8831CC0501127C-40000136E0000637[CE]; s_sq=applesuperglobal%3D%2526pid%253DiTC%252520Home%252520Redesign%2526pidt%253D1%2526oid%253Dhttps%25253A%25252F%25252Fitunesconnect.apple.com%25252FWebObjects%25252FiTunesConnect.woa%25252Fda%25252FjumpTo%25253Fpage%25253DsalesReports%2526ot%253DA; JSESSIONID=3uvfjU8b3FLRNiNhrumsxhS9; NSC_17ofu-jud-jud-mc=ffffffff12920b0445525d5f4f58455e445a4a426a00"));
HttpResponse response = httpClient.execute(httpPost);

/* Header[] headers = response.getAllHeaders();
        for (Header h : headers) {
            String name = h.getName();
            String value = h.getValue();
            System.out.println("header : " + h.getName() + ":" + h.getValue());
            if ("Set-Cookie".equalsIgnoreCase(name)) {
                String[] strs = value.split(";");
                for (String str : strs) {
                    String[] cookies = str.split("=");
                    System.out.println("=============== : " + cookies[0] + ":"
                            + cookies[1]);
                    if(cookies.length == 2){
                   cs.addCookie(new BasicClientCookie(cookies[0], cookies[1]));
                   cs.
                    }
                }
            }


        }*/
if(response != null){
HttpEntity resEntity = response.getEntity();
if(resEntity != null){
// getJSONObj(resEntity);
result = EntityUtils.toString(resEntity,charset);
}
}
// getInfos(response);
System.out.println(response.getStatusLine().getStatusCode()+"");
if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
insertToDao(result,cinfo);
}else{
Thread.sleep(10000);
CommonRequest.myacinfo = null;
CommonRequest.itctx = null;
            comReq.getLoggerPost();
}

}catch(Exception ex){
ex.printStackTrace();
}
return result;
}


private static Map<String,String> cookieMap = new HashMap<>();
public String autoLogin(String url,String param,String charset){
HttpClient httpClient = null;
HttpPost httpPost = null;
String result = null;
try{
httpClient = new SSLClient();
httpPost = new HttpPost(url);
headerWrapper(httpPost);
httpPost.setHeader("X-Apple-Widget-Key","22d448248055bab0dc197c6271d738c3");
httpPost.setHeader("Content-Type","application/json");
StringEntity strEntity = new StringEntity(param);
httpPost.setEntity(strEntity);//ranked
httpPost.addHeader(new BasicHeader("Cookie","s_cc=true; s_sq=%5B%5BB%5D%5D; s_vi=[CS]v1|2B8831CC0501127C-40000136E0000637[CE]; aa=9056D05C53F54A50CCD264319679B637B227A977604C6A5F1AC31215D1D9D32CCEA4AA72B5B38B66F041996D2EADDFD7162484AC4CFE432AA1AFCD05026C657BCA3BCC6BC8CC21010B5427D5116084B298DDF3BF7EC9CF247480B1C7F92A1F3E079D27EFBD7D448B4E3A5F981E4BDFC3C47AF4CA1E1C957F47881B0A8AD60BC4D37575F48C83B0038391A2F03AC5740A9BF40D65379D3775C1927F25033688A8CB672180CBB9DB73A7388422699651C455D71AD0CD91056F9919FD75DCAFDBF424A54E22EC0FEDEE2C4685FDA34F84584B681BC1ACF11752B6DC7532F502FAE5A72A9A24AEE021023120323838B262EE38886B1137A6FA5C10F93B528C1A0E07; site=CHN"));
HttpResponse response = httpClient.execute(httpPost);

Header[] headers = response.getAllHeaders();
        for (Header h : headers) {
            String name = h.getName();
            String value = h.getValue();
            System.out.println("header : " + h.getName() + ":" + h.getValue());
            if ("Set-Cookie".equalsIgnoreCase(name)) {
                String[] strs = value.split(";");
                for (String str : strs) {
                    String[] cookies = str.split("=");
                    if(cookies.length == 2){
                   System.out.println("=============== : " + cookies[0] + ":"
                            + cookies[1]);
                   if(cookies[0].equals("myacinfo")){
                   cookieMap.put("myacinfo", cookies[1]);
                   }
                    }else{
                   System.out.println("=============== : " + cookies[0]);
                    }
                    if(cookies.length == 2){
                   cs.addCookie(new BasicClientCookie(cookies[0], cookies[1]));
                    }
                }
            }


        }
if(response != null){
HttpEntity resEntity = response.getEntity();
if(resEntity != null){
// getJSONObj(resEntity);
result = EntityUtils.toString(resEntity,charset);
}
}
// getInfos(response);
System.out.println(response.getStatusLine());
}catch(Exception ex){
ex.printStackTrace();
}
if(cookieMap.containsKey("myacinfo")){
return cookieMap.get("myacinfo");
}
return result;
}

private static StringBuffer strBuff = new StringBuffer();
public String doCommonCookieGet(String url,String cookie,String charset){
HttpClient httpClient = null;
HttpPost httpPost = null;
String result = null;
try{
httpClient = new SSLClient();
httpPost = new HttpPost(url);
RequestConfig requestConfig = RequestConfig.custom().setRedirectsEnabled(false).build();
httpPost.setConfig(requestConfig);
headerWrapper(httpPost);
httpPost.setHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
httpPost.setHeader("Upgrade-Insecure-Requests","1");
httpPost.setHeader("Content-Type","application/json");
httpPost.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36");
strBuff.append("site=CHN; myacinfo="+cookie+";");
httpPost.addHeader(new BasicHeader("Cookie","s_cc=true; s_sq=%5B%5BB%5D%5D; s_vi=[CS]v1|2B8831CC0501127C-40000136E0000637[CE]; NSC_17ofu-jud-jud-mc=ffffffff12920b0445525d5f4f58455e445a4a426a1b; site=CHN; myacinfo="+cookie));
HttpResponse response = httpClient.execute(httpPost);


Header[] headers = response.getAllHeaders();
        for (Header h : headers) {
            String name = h.getName();
            String value = h.getValue();
            System.out.println("header : " + h.getName() + ":" + h.getValue());
            if ("Set-Cookie".equalsIgnoreCase(name)) {
                String[] strs = value.split(";");
                for (String str : strs) {
                    String[] cookies = str.split("=");
                    if(cookies.length == 2){
                   System.out.println("=============== : " + cookies[0] + ":"
                            + cookies[1]);
                   if(cookies[0].equals("itctx")){
                   cookieMap.put("itctx", cookies[1]);
                   }else if(cookies[0].startsWith("NSC")){
                   cookieMap.put(cookies[0], cookies[1]);
                   System.out.println("NSC:"+cookies[1]);
                   }
                    }else{
                   System.out.println("=============== : " + cookies[0]);
                    }
                    if(cookies.length == 2){
                   cs.addCookie(new BasicClientCookie(cookies[0], cookies[1]));
                   strBuff.append(cookies[0]+"="+cookies[1]+";");
                    }
                }
            }


        }


if(response != null){
HttpEntity resEntity = response.getEntity();
if(resEntity != null){
result = EntityUtils.toString(resEntity,charset);
}
}
System.out.println(response.getStatusLine()+result);//https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/ng
String cooBuff = strBuff.toString();
// doCommonCookieReference("https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/ng",cooBuff.substring(0,cooBuff.length()-1),HTTP.UTF_8);
}catch(Exception ex){
ex.printStackTrace();
}
if(cookieMap.containsKey("itctx")){
return cookieMap.get("itctx");
}
return result;
}



public String doCommonCookieReference(String url,String cookie,String charset){
HttpClient httpClient = null;
HttpGet httpPost = null;
String result = null;
try{
httpClient = new SSLClient();
httpPost = new HttpGet(url);
headerWrapper(httpPost);
httpPost.setHeader("Content-Type","application/json");

httpPost.addHeader(new BasicHeader("Cookie","s_cc=true; s_sq=%5B%5BB%5D%5D; s_vi=[CS]v1|2B8831CC0501127C-40000136E0000637[CE]; NSC_17ofu-jud-jud-mc=ffffffff12920b0445525d5f4f58455e445a4a426a1b; "+cookie));
HttpResponse response = httpClient.execute(httpPost);

Header[] headers = response.getAllHeaders();
        for (Header h : headers) {
            String name = h.getName();
            String value = h.getValue();
            System.out.println("header : " + h.getName() + ":" + h.getValue());
            if ("Set-Cookie".equalsIgnoreCase(name)) {
                String[] strs = value.split(";");
                for (String str : strs) {
                    String[] cookies = str.split("=");
                    if(cookies.length == 2){
                   System.out.println("=============== : " + cookies[0] + ":"
                            + cookies[1]);
                   if(cookies[0].equals("itctx")){
                   cookieMap.put("itctx", cookies[1]);
                   }else if(cookies[0].startsWith("NSC")){
                   cookieMap.put(cookies[0], cookies[1]);
                   System.out.println("NSC:"+cookies[1]);
                   }
                    }else{
                   System.out.println("=============== : " + cookies[0]);
                    }
                    if(cookies.length == 2){
                   cs.addCookie(new BasicClientCookie(cookies[0], cookies[1]));
                    }
                }
            }


        }


if(response != null){
HttpEntity resEntity = response.getEntity();
if(resEntity != null){
result = EntityUtils.toString(resEntity,charset);
}
}
System.out.println(response.getStatusLine()+result);
}catch(Exception ex){
ex.printStackTrace();
}
if(cookieMap.containsKey("itctx")){
return cookieMap.get("itctx");
}
return result;
}

private void insertToDao(String result,ChargeInfo cinfo) {
JSONArray array = JSON.parseArray(result);
if(array.size()>0){
JSONObject obj = array.getJSONObject(0);
JSONArray dataArray = obj.getJSONArray("data");
List<AppChargeInfo> chargeInfos = dataArray.parseArray(dataArray.toString(), AppChargeInfo.class);
if(chargeInfos != null && chargeInfos.size() >0){
String sumPro = "0";
String sumSales = "0";
String sumMoney = "0";
String lastSum = "0";
String lastMoney = "0";
for(int i=0;i<chargeInfos.size();i++){
AppChargeInfo info = chargeInfos.get(i);
sumPro = ArithUtil.add(sumPro, info.units_utc);//销售量
sumSales = ArithUtil.add(sumSales, info.total_tax_usd_utc);//销售额
sumMoney = ArithUtil.add(sumMoney, info.Royalty_utc);//收入
if(chargeInfos.size() == UtcTimeUtil.getMonthYesterUtcDay()){
if(i==chargeInfos.size()-1){
String dtime = TimeUtil.getDateTime();
lastSum = ArithUtil.sub(sumSales, info.total_tax_usd_utc);//销售额-一天
lastMoney = ArithUtil.sub(sumMoney, info.Royalty_utc);//收入-一天
long resuID = adDao.insert(sumPro,sumSales,sumMoney,lastSum, lastMoney,info,cinfo,dtime);//当天销售额
try {
if(resuID >=0){
doCommonGet("http://bi.games.sina.com/ApiSer/Cron/godhands/updateAppItunesData.php?ctime="+URLEncoder.encode(dtime,HTTP.UTF_8)+"&id="+1, new HashMap<String,String>(), "UTF-8");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}else if(chargeInfos.size() == UtcTimeUtil.getMonthYesterUtcDay()-1){
if(i==chargeInfos.size()-1){
String dtime = TimeUtil.getDateTime();
lastSum = sumMoney;
long resuID = adDao.insert(sumPro,sumSales,sumMoney,lastSum,lastMoney,null,cinfo,dtime);
try {
if(resuID >=0){
doCommonGet("http://bi.games.sina.com/ApiSer/Cron/godhands/updateAppItunesData.php?ctime="+URLEncoder.encode(dtime,HTTP.UTF_8)+"&id="+1, new HashMap<String,String>(), "UTF-8");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
}
}






private void getJSONObj(HttpEntity resEntity) {
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(resEntity.getContent(),HTTP.UTF_8), 8*1024);
StringBuilder entityStringBuilder = new StringBuilder();
String line = null;
while ((line = bufferedReader.readLine()) != null) {
entityStringBuilder.append(line + "/n");
}
// 利用从HttpEntity中得到的String生成JsonObject
// JSONObject resultJsonObject = new JSONObject(entityStringBuilder.toString());
System.out.println(entityStringBuilder.toString());
}catch (Exception e) {
e.printStackTrace();
}
}




public static void headerWrapper(AbstractHttpMessage methord){
methord.setHeader("user-agent",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36");//Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0
methord.setHeader("accept-language", "zh-CN,zh;q=0.8");
// methord.setHeader("Accept-Encoding", "gzip, deflate, sdch");
methord.setHeader("X-Requested-With", "XMLHttpRequest, OWASP CSRFGuard Project");
methord.setHeader("Accept", "*/*");
}


    private static CookieStore cs = new BasicCookieStore();
private void getInfos(HttpResponse response) {
  Header[] headers = response.getAllHeaders();
  System.out.println(response.getStatusLine()+"");
        for (Header h : headers) {
            String name = h.getName();
            String value = h.getValue();
            System.out.println("header : " + h.getName() + ":" + h.getValue());


            if ("Set-Cookie".equalsIgnoreCase(name)) {
                String[] strs = value.split(";");
                for (String str : strs) {
                    String[] cookies = str.split("=");
                    /*System.out.println("=============== : " + cookies[0] + ":"
                            + cookies[1]);*/
                    if(cookies.length == 2){
                   cs.addCookie(new BasicClientCookie(cookies[0], cookies[1]));
                    }
                }
            }


        }


        HttpEntity entity = response.getEntity();
        System.out.println("----------------------------------------");
        System.out.println(response.getStatusLine());
        if (entity != null) {
            /*System.out.println("Response content length: "
                    + entity.getContentLength());*/
             
        }


        // 显示结果
       /* BufferedReader reader;
try {
reader = new BufferedReader(new InputStreamReader(
        entity.getContent(), "UTF-8"));
String line = null;
        while ((line = reader.readLine()) != null) {
            System.out.println("结果"+line);
        }
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}*/

}


}


0 0
原创粉丝点击