HttpPost 的使用

来源:互联网 发布:知乎英文名 编辑:程序博客网 时间:2024/06/04 19:54
ackage com.example.appsmain;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;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.message.BasicNameValuePair;import org.apache.http.params.CoreConnectionPNames;import org.apache.http.util.EntityUtils;import android.util.Log;public class SendHttp {public static void SendDataToHttp(final String strUrl, final List<NameValuePair> paramList, CallBack callback){String ret = "null";boolean isSuccess = false;try{HttpPost httpRequest = new HttpPost(strUrl);//使用NameValuePair来保存要传递的Post参数          //设置字符集             HttpEntity httpentity = new UrlEncodedFormEntity(paramList, "gb2312");//防止字符出现乱码//请求httpRequest             httpRequest.setEntity(httpentity);//取得默认的HttpClient              HttpClient httpclient = new DefaultHttpClient();httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 2000);////设置请求超时2秒钟 根据业务调整httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 2000);// //设置等待数据超时时间2秒钟 根据业务调整//取得HttpResponse             HttpResponse httpResponse = httpclient.execute(httpRequest);              //HttpStatus.SC_OK表示连接成功              if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK)//判断结果              {                 //取得返回的字符串                  ret = EntityUtils.toString(httpResponse.getEntity());//获取响应内容isSuccess = true;System.out.println("send return ******************************************************** ");System.out.println(ret);}}catch(Exception e){isSuccess = false;e.printStackTrace();}callback.PostFinished(isSuccess, ret);//返回 }public interface CallBack{public void PostFinished(final boolean isSuccess, final String ret);}public static void SendHttp()//在需要的放调用{List<NameValuePair> paramList = new ArrayList<NameValuePair>();paramList.add(new BasicNameValuePair("transid","123132" ));//在url 发送的内容final String url = "http://www.badu.com:9091/transid_clientcheck";//根据需要更改SendDataToHttp(url, paramList, new CallBack(){@Overridepublic void PostFinished(boolean isSuccess, String ret) {// TODO Auto-generated method stubif(isSuccess)//成功收到数据{if(ret.equals("1")){Log.i("MyMessage", "Get 1");//获得结果1}else{Log.i("MyMessage", ret);//显示收到的结果}}else{}}});}}

0 0
原创粉丝点击