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();
    }
}