HttpUtil---网络请求工具类

来源:互联网 发布:ps磨皮滤镜mac中文版 编辑:程序博客网 时间:2024/06/05 17:55
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.HttpHost;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.conn.params.ConnRoutePNames;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.util.EntityUtils;import android.annotation.SuppressLint;import android.content.Context;import android.content.pm.PackageManager.NameNotFoundException;import android.database.Cursor;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.net.Uri;import android.os.StrictMode;public class HttpUtil {public   int getVerCode(Context context) {int verCode = -1;try {verCode = context.getPackageManager().getPackageInfo("org.dc", 0).versionCode;} catch (NameNotFoundException e) {}return verCode;}public   String getVerName(Context context) {String verName = "";try {verName = context.getPackageManager().getPackageInfo("org.dc", 0).versionName;} catch (NameNotFoundException e) {}return verName;}public static HttpGet getHttpGet(String url) {HttpGet request = new HttpGet(url);return request;}public   HttpPost getHttpPost(String url) {HttpPost request = new HttpPost(url);return request;}public   HttpResponse getHttpResponse(HttpGet request)throws ClientProtocolException, IOException {HttpResponse response = new DefaultHttpClient().execute(request);return response;}public   HttpResponse getHttpResponse(HttpPost request)throws ClientProtocolException, IOException {HttpResponse response = new DefaultHttpClient().execute(request);return response;}public String queryStringForPost(String url, Context context) {HttpClient httpClient = new DefaultHttpClient();prepareProxy(httpClient, context);HttpPost request = getHttpPost(url);String result = null;try {HttpResponse response = httpClient.execute(request);if (response.getStatusLine().getStatusCode() == 200) { // 200// OK:一切正常,result = EntityUtils.toString(response.getEntity());return result;}} catch (ClientProtocolException e) {e.printStackTrace();result = "网络异常";return result;} catch (IOException e) {e.printStackTrace();result = "网络异常";return result;}return null;}public String queryStringForPost2(HttpPost request, Context context) {HttpClient httpClient = new DefaultHttpClient();prepareProxy(httpClient, context);String result = null;try {HttpResponse response = httpClient.execute(request);if (response.getStatusLine().getStatusCode() == 200) {result = EntityUtils.toString(response.getEntity());return result;}} catch (ClientProtocolException e) {e.printStackTrace();result = "网络异常";return result;} catch (IOException e) {e.printStackTrace();result = "网络异常";return result;}return null;}public String queryStringForPost3(String url, List<NameValuePair> values) {String resultString = null;HttpPost hPost = new HttpPost(url);HttpEntity entity;try {// 设置HTTP POST请求参数entity = new UrlEncodedFormEntity(values, "UTF-8");hPost.setEntity(entity);} catch (UnsupportedEncodingException e) {e.printStackTrace();}HttpClient hc = new DefaultHttpClient();HttpResponse response;try {response = hc.execute(hPost);HttpEntity entity1 = response.getEntity();InputStream is = entity1.getContent();BufferedReader bReader = new BufferedReader(new InputStreamReader(is));resultString = bReader.readLine();} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return resultString;}public   String queryStringForGet(String url) {HttpGet request = HttpUtil.getHttpGet(url);String result = null;try {HttpResponse response = getHttpResponse(request);if (response.getStatusLine().getStatusCode() == 200) {result = EntityUtils.toString(response.getEntity());return result;}} catch (ClientProtocolException e) {e.printStackTrace();result = "网络异常";return result;} catch (IOException e) {e.printStackTrace();result = "网络异常";return result;}return null;}public boolean isConnect(Context context) {// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)try {ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);if (connectivity != null) {// 获取网络连接管理的对象NetworkInfo info = connectivity.getActiveNetworkInfo();if (info != null && info.isConnected()) {// 判断当前网络是否已经连接if (info.getState() == NetworkInfo.State.CONNECTED) {return true;}}}} catch (Exception e) {e.printStackTrace();}return false;}@SuppressLint("NewApi")public void setNetWork() {StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath().build());}public   boolean prepareProxy(HttpClient httpClient, Context context) {ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);if (connectivity == null) {return false;}NetworkInfo info = connectivity.getActiveNetworkInfo();if (info == null || !info.isConnected()|| info.getState() != NetworkInfo.State.CONNECTED|| info.getTypeName() == null|| "WIFI".equals(info.getTypeName().toUpperCase())) {return false;}Uri uri = Uri.parse("content://telephony/carriers/preferapn");Cursor cr = null;try {cr = context.getContentResolver().query(uri, null, null, null, null);if (cr != null && cr.moveToNext()) {String strProxy = cr.getString(cr.getColumnIndex("proxy"));String strPort = cr.getString(cr.getColumnIndex("port"));if (strProxy != null && !"".equals(strProxy)) {HttpHost proxy = new HttpHost(strProxy,Integer.valueOf(strPort));httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);return true;}}} catch (Exception e) {e.printStackTrace();} finally {if (cr != null) {cr.close();}}return false;}}

0 0
原创粉丝点击