`
heyixian
  • 浏览: 12658 次
社区版块
存档分类
最新评论

andoird HTTP 工具类

阅读更多
简单的对android下apach包进行了封装。


import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.util.EntityUtils;

public final class HTTPUtils {
	public static byte[] postToServer(String url, byte[] content)
			throws ClientProtocolException, IOException {
		return executeRequest(url, new ByteArrayEntity(content),
				HttpPost.METHOD_NAME);
	}

	public static byte[] getFromServer(String url) throws ClientProtocolException, IOException {
		return executeRequest(url, null, HttpGet.METHOD_NAME);
	}

	private static byte[] executeRequest(String url, HttpEntity postEntity,
			String methodName) throws ClientProtocolException, IOException {
		HttpUriRequest request = null;
		HttpClient client = null;
		byte[] resultBytes = null;
		try {

			if (HttpPost.METHOD_NAME.equals(methodName)) {
				request = new HttpPost(url);
				if (postEntity != null) {
					HttpPost post = ((HttpPost) request);
					post.setEntity(postEntity);

				}
			} else if (HttpGet.METHOD_NAME.equals(methodName)) {
				request = new HttpGet(url);
			}
			client = createHttpClient();
			HttpResponse response = client.execute(request);
			int statusCode = response.getStatusLine().getStatusCode();
			if (statusCode == HttpStatus.SC_OK) {
				HttpEntity entity = response.getEntity();
				resultBytes = EntityUtils.toByteArray(entity);
			}
		} finally {
			if (request != null) {
				request.abort();
			}
		}
		return resultBytes;
	}

	private static HttpClient createHttpClient() {
		HttpParams httpParameters = new BasicHttpParams();
		int timeoutConnection = 30000;
		HttpConnectionParams.setConnectionTimeout(httpParameters,
				timeoutConnection);
		int timeoutSocket = 30000;
		HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
		return new DefaultHttpClient(httpParameters);
	}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics