/** * 网络连接模块; * @author special * 2012-12-12下午10:42:35 */ package com.mailssenger.util; import java.lang.ref.WeakReference; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.util.EntityUtils; import com.mailssenger.CommonApplication; public class HttpClientUtil{ /*普通post*/ public static String Post(String URL, List<NameValuePair> formparams) throws Exception { DefaultHttpClient client; try { client = new DefaultHttpClient(); //设置超时; HttpParams params = client.getParams(); HttpConnectionParams.setConnectionTimeout(params, 60 * 1000); HttpConnectionParams.setSoTimeout(params, 60 * 1000); HttpResponse response; UrlEncodedFormEntity entity = null; if (formparams!=null) { entity = new UrlEncodedFormEntity(formparams, "utf-8"); } HttpPost post = new HttpPost(URL); post.addHeader("Content-Type", "application/x-www-form-urlencoded"); post.setEntity(entity); response = client.execute(post); if (response.getStatusLine().getStatusCode() == 200) { String result = EntityUtils.toString(response.getEntity(), "utf-8").trim(); //弱引用; WeakReference<String> resultReference=new WeakReference<String>(result); CommonApplication.debug(">>Net:>>"+resultReference.get()); return resultReference.get(); } } catch (Exception e) { return "networkerr"; } finally { client=null; } return "networkerr"; } /*带有验证的httppost*/ public static String PostAuth(String URL, List<NameValuePair> formparams,String AuthUser,String AuthPass) throws Exception { DefaultHttpClient client; try { client = new DefaultHttpClient(); //构造验证; java.net.URL _url=new java.net.URL(URL); client.getCredentialsProvider().setCredentials( new AuthScope(_url.getHost(),AuthScope.ANY_PORT, AuthScope.ANY_REALM), new UsernamePasswordCredentials(AuthUser,AuthPass)); //设置超时; HttpParams params = client.getParams(); HttpConnectionParams.setConnectionTimeout(params, 60 * 1000); HttpConnectionParams.setSoTimeout(params, 60 * 1000); HttpResponse response; UrlEncodedFormEntity entity = null; if (formparams!=null) { entity = new UrlEncodedFormEntity(formparams, "utf-8"); } HttpPost post = new HttpPost(URL); post.addHeader("Content-Type", "application/x-www-form-urlencoded"); post.setEntity(entity); response = client.execute(post); if (response.getStatusLine().getStatusCode() == 200) { String result = EntityUtils.toString(response.getEntity(), "utf-8").trim(); //弱引用; WeakReference<String> resultReference=new WeakReference<String>(result); CommonApplication.debug(">>Net:>>"+resultReference.get()); return resultReference.get(); } } catch (Exception e) { return "networkerr"; } finally { client=null; } return "networkerr"; } public static String postPic(String URL, MultipartEntity multipartEntity) throws Exception { DefaultHttpClient client = new DefaultHttpClient(); try { //设置超时; HttpParams params = client.getParams(); HttpConnectionParams.setConnectionTimeout(params, 60 * 1000); HttpConnectionParams.setSoTimeout(params, 60 * 1000); HttpResponse response; HttpPost post = new HttpPost(URL); post.setEntity(multipartEntity); response = client.execute(post); if (response.getStatusLine().getStatusCode() == 200) { String result = EntityUtils.toString(response.getEntity(), "utf-8").trim(); //弱引用; WeakReference<String> resultReference=new WeakReference<String>(result); CommonApplication.debug(">>Net:>>"+resultReference.get()); return resultReference.get(); } } catch (Exception e) { return "networkerr"; } finally { client=null; } return "networkerr"; } }