Android使用httpPost向服务器发送请求的方法
作者:q757989418 时间:2021-12-08 19:37:07
本文实例讲述了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,httpPost
0
投稿
猜你喜欢
JAVA实现的CrazyArcade泡泡堂游戏
2022-12-25 11:55:23
详解OpenCV For Java环境搭建与功能演示
2023-05-27 09:13:50
Android利用GridView实现单选效果
2022-08-12 03:31:50
SpringBoot如何读取war包jar包和Resource资源
2023-11-09 01:40:44
C++在vscode中的多文件编程问题解读
2021-06-14 13:37:04
关于Jedis的用法以及Jedis使用Redis事务
2023-06-28 07:22:56
android 自定义圆角button效果的实例代码(自定义view Demo)
2022-07-13 11:35:09
MAC上IntelliJ IDEA的svn无法保存密码解决方案
2022-11-10 13:54:12
解决springboot 部署到 weblogic 中 jar 包冲突的问题
2021-06-06 11:32:36
c# 闭包的相关知识以及需要注意的地方
2023-12-11 01:27:54
整理Java编程中常用的基本描述符与运算符
2022-05-30 01:36:32
Android单选按钮对话框用法实例分析
2023-03-27 17:10:52
add方法理解ArrayList的扩容机制
2023-11-24 02:16:28
Android ListView万能适配器实例代码
2022-03-06 02:19:50
使用fastjson中的JSONPath处理json数据的方法
2021-12-14 09:09:58
Jackson反序列化@JsonFormat 不生效的解决方案
2023-06-15 20:25:37
深入XPath的详解以及Java示例代码分析
2021-11-01 13:42:33
Android 游戏引擎libgdx 资源加载进度百分比显示案例分析
2023-05-12 12:18:46
C# datagrid非常规方法实现添加合并列
2023-02-08 07:31:00
J2SE基础之命令行中编写第一个 Hello World
2023-10-05 09:43:55