TIM v2.3.1版本的 MD5 值为:d6957e3ee7ce901ccc491cefdea0da8c
以下内容为反编译后的 c.java 源代码,内容仅作参考
package com.tencent.tmassistantbase.network;
import android.util.Log;
import java.io.InputStream;
import java.net.ConnectException;
import java.net.SocketTimeoutException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ConnectTimeoutException;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.util.ByteArrayBuffer;
public class c implements Runnable {
final byte[] f96824a;
final PostHttpRequest f96825b;
public c(PostHttpRequest postHttpRequest, byte[] bArr) {
this.f96825b = postHttpRequest;
this.f96824a = bArr;
}
@Override
public void run() {
Object obj;
HttpEntity entity;
HttpClient httpClient = null;
obj = this.f96825b.mLock;
synchronized (obj) {
this.f96825b.mHttpPost = new HttpPost("http://masdk.3g.qq.com/");
Log.i("BaseHttpRequest", "halleyTest serverUrl=http://masdk.3g.qq.com/");
this.f96825b.mHttpPost.addHeader("User-Agent", "AssistantDownloader");
this.f96825b.mHttpPost.setEntity(new ByteArrayEntity(this.f96824a));
try {
try {
try {
httpClient = HttpClientUtil.createHttpClient();
HttpClientUtil.setProxy(httpClient);
HttpResponse execute = httpClient.execute(this.f96825b.mHttpPost);
if (execute != null && execute.getStatusLine().getStatusCode() == 200 && (entity = execute.getEntity()) != null) {
ByteArrayBuffer byteArrayBuffer = new ByteArrayBuffer((int) entity.getContentLength());
InputStream content = entity.getContent();
byte[] bArr = new byte[2048];
while (true) {
int read = content.read(bArr);
if (read == -1) {
break;
}
byteArrayBuffer.append(bArr, 0, read);
}
byte[] buffer = byteArrayBuffer.buffer();
if (buffer != null && buffer.length > 4) {
this.f96825b.onFinished(this.f96824a, buffer, 0);
this.f96825b.mHttpPost = null;
if (httpClient != null) {
httpClient.getConnectionManager().shutdown();
}
return;
}
}
this.f96825b.mHttpPost = null;
if (httpClient != null) {
httpClient.getConnectionManager().shutdown();
}
} catch (ConnectTimeoutException e) {
e.printStackTrace();
this.f96825b.onFinished(this.f96824a, null, 601);
this.f96825b.mHttpPost = null;
if (httpClient != null) {
httpClient.getConnectionManager().shutdown();
}
}
} catch (ConnectException e2) {
e2.printStackTrace();
this.f96825b.onFinished(this.f96824a, null, 1);
this.f96825b.mHttpPost = null;
if (httpClient != null) {
httpClient.getConnectionManager().shutdown();
}
}
} catch (SocketTimeoutException e3) {
e3.printStackTrace();
this.f96825b.onFinished(this.f96824a, null, 602);
this.f96825b.mHttpPost = null;
if (httpClient != null) {
httpClient.getConnectionManager().shutdown();
}
} catch (Exception e4) {
e4.printStackTrace();
this.f96825b.onFinished(this.f96824a, null, 604);
this.f96825b.mHttpPost = null;
if (httpClient != null) {
httpClient.getConnectionManager().shutdown();
}
}
}
}
}