本文实例讲述了Android使用httpPost向服务器发送请求的方法。分享给大家供大家参考,具体如下:
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
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.conn.ConnectTimeoutException;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import android.util.Log;
public class RequestByHttpPost {
public static String TIME_OUT = "操作超时";
public static String doPost(List<NameValuePair> params,String url) throws Exception{
String result = null;
// 新建HttpPost对象
HttpPost httpPost = new HttpPost(url);
// 设置字符集
HttpEntity entity = new UrlEncodedFormEntity(params, HTTP.UTF_8);
// 设置参数实体
httpPost.setEntity(entity);
// 获取HttpClient对象
HttpClient httpClient = new DefaultHttpClient();
//连接超时
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 30000);
//请求超时
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 30000);
try {
// 获取HttpResponse实例
HttpResponse httpResp = httpClient.execute(httpPost);
// 判断是够请求成功
if (httpResp.getStatusLine().getStatusCode() == 200) {
// 获取返回的数据
result = EntityUtils.toString(httpResp.getEntity(), "UTF-8");
Log.i("HttpPost", "HttpPost方式请求成功,返回数据如下:");
Log.i("result", result);
} else {
Log.i("HttpPost", "HttpPost方式请求失败");
}
} catch (ConnectTimeoutException e){
result = TIME_OUT;
}
return result;
}
}
可以直接用的完整类。
希望本文所述对大家Android程序设计有所帮助。
您可能感兴趣的文章:android客户端从服务器端获取json数据并解析的实现代码Android客户端post请求服务器端实例Android编程之客户端通过socket与服务器通信的方法android异步请求服务器数据示例Android编程向服务器发送请求时出现中文乱码问题的解决方法Android解析服务器端发来的xml数据示例Android TCP 文件客户端与服务器DEMO介绍Android程序开发通过HttpURLConnection上传文件到服务器Android封装的http请求实用工具类android实用工具类分享(获取内存/检查网络/屏幕高度/手机分辨率)Android开发实现查询远程服务器的工具类QueryUtils完整实例