号簿助手 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();
}
}