QQ浏览器 v12.2.3.7053版本的 MD5 值为:8285ab3059e5c8b521a264dfbc5c3685
以下内容为反编译后的 QBDataReporterImpl.java 源代码,内容仅作参考
package com.tencent.mtt.sdk.impl;
import com.tencent.common.http.HttpHeader;
import com.tencent.common.http.MttRequestBase;
import com.tencent.common.http.Requester;
import com.tencent.common.http.RequesterFactory;
import com.tencent.mtt.base.stat.StatManager;
import com.tencent.mtt.base.stat.interfaces.IUnitTimeHelper;
import com.tencent.mtt.base.stat.interfaces.UnitTimeHelperFactory;
import com.tencent.mtt.base.wup.GUIDManager;
import com.tencent.mtt.external.reader.image.ImageReaderController;
import com.tencent.mtt.qbinfo.QBInfoUtils;
import com.tencent.mtt.qbinfo.QUAUtils;
import com.tencent.mtt.qbinfo.UserAgentUtils;
import com.tencent.tkd.topicsdk.adapter.qbinterface.IQBDataReporter;
import java.util.HashMap;
public class QBDataReporterImpl implements IQBDataReporter {
public void a(MttRequestBase mttRequestBase, String str) {
mttRequestBase.setUrl("https://pvstat.html5.qq.com/log/report");
mttRequestBase.setMethod((byte) 1);
mttRequestBase.setRequestType(MttRequestBase.REQUEST_NORMAL);
mttRequestBase.addHeader("Content-Type", "application/x-www-form-urlencoded");
mttRequestBase.addHeader(HttpHeader.REQ.QGUID, GUIDManager.a().f());
mttRequestBase.addHeader(HttpHeader.REQ.QUA2, QUAUtils.a());
mttRequestBase.addHeader("User-agent", UserAgentUtils.a(0));
mttRequestBase.addHeader(HttpHeader.REQ.Q_QIMEI, QBInfoUtils.f());
mttRequestBase.addHeader("Connection", "keep-alive");
mttRequestBase.setPostData(str);
}
@Override
public void requestBeaconStat(String str, HashMap<String, String> hashMap) {
IUnitTimeHelper a2 = UnitTimeHelperFactory.a();
a2.a(hashMap.get(ImageReaderController.REPORT_UNIT));
a2.c(hashMap.get("scene"));
if (str.equals("start")) {
StatManager.b().a(a2, 0);
} else if (str.equals("intercept")) {
StatManager.b().b(a2, 0);
}
}
@Override
public void requestCustomStat(String str) {
Requester requester = null;
try {
requester = RequesterFactory.getRequester(0);
MttRequestBase mttRequestBase = RequesterFactory.getMttRequestBase();
a(mttRequestBase, str);
requester.execute(mttRequestBase);
if (requester == null) {
return;
}
} catch (Exception unused) {
if (requester == null) {
return;
}
} catch (Throwable th) {
if (requester != null) {
requester.close();
}
throw th;
}
requester.close();
}
}