号簿助手 v4.6.31版本的 MD5 值为:9d7ff98a6bb5cc178eac2df4d1b2f0e0

以下内容为反编译后的 HurlRequest.java 源代码,内容仅作参考


package com.yulore.collect.network;

import android.text.TextUtils;
import com.yulore.collect.log.Logger;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.protocol.HTTP;

public class HurlRequest extends Request {
    @Override
    public boolean performRequest(Map<String, String> params) {
        try {
            return hurlPost(params);
        } catch (IOException e) {
            e.printStackTrace();
            return false;
        }
    }

    private boolean hurlPost(Map<String, String> params) throws IOException {
        URL parsedUrl = new URL("http://stat.dianhua.cn/stat/collect/post.php");
        HttpURLConnection connection = (HttpURLConnection) parsedUrl.openConnection();
        connection.setConnectTimeout(50000);
        connection.setReadTimeout(50000);
        connection.setUseCaches(false);
        connection.setDoInput(true);
        connection.setRequestMethod(HttpPost.METHOD_NAME);
        connection.addRequestProperty(HTTP.CONTENT_TYPE, getBodyContentType());
        byte[] body = encodeParameters(params, getParamsEncoding());
        if (body != null) {
            DataOutputStream out = new DataOutputStream(connection.getOutputStream());
            out.write(body);
            out.close();
        }
        connection.connect();
        int responseCode = connection.getResponseCode();
        Logger.d("Request", "HurlRequest responseCode: " + responseCode);
        if (responseCode != 200) {
            return false;
        }
        String responseData = getContent(connection.getInputStream());
        Logger.d("Request", "HurlRequest responseData: " + responseData);
        if (TextUtils.isEmpty(responseData)) {
            return false;
        }
        return parserStatus(responseData);
    }

    private String getContent(InputStream in) {
        BufferedReader br;
        StringBuffer sb = new StringBuffer();
        BufferedReader br2 = null;
        try {
            try {
                br = new BufferedReader(new InputStreamReader(in, "utf-8"));
                while (true) {
                    try {
                        String line = br.readLine();
                        if (line == null) {
                            break;
                        }
                        sb.append(line);
                    } catch (IOException e) {
                        e = e;
                        br2 = br;
                        e.printStackTrace();
                        if (br2 != null) {
                            try {
                                br2.close();
                            } catch (IOException e2) {
                                e2.printStackTrace();
                            }
                        }
                        return sb.toString();
                    } catch (Throwable th) {
                        th = th;
                        br2 = br;
                        if (br2 != null) {
                            try {
                                br2.close();
                            } catch (IOException e3) {
                                e3.printStackTrace();
                            }
                        }
                        throw th;
                    }
                }
            } catch (Throwable th2) {
                th = th2;
            }
        } catch (IOException e4) {
            e = e4;
        }
        if (br != null) {
            try {
                br.close();
                br2 = br;
            } catch (IOException e5) {
                e5.printStackTrace();
            }
            return sb.toString();
        }
        br2 = br;
        return sb.toString();
    }
}