本文实例讲述了Android中使用Post请求的方法。分享给大家供大家参考。具体如下:
一、需要用到的场景
在jQuery中使用$.post()就可以方便的发起一个post请求,在android程序中有时也要从服务器获取一些数据,就也必须得使用post请求了。
二、需要用到的主要类
在android中使用post请求主要要用到的类是HttpPost、HttpResponse、EntityUtils
三、主要思路
1、创建HttpPost实例,设置需要请求服务器的url。
2、为创建的HttpPost实例设置参数,参数设置时使用键值对的方式用到NameValuePair类。
3、发起post请求获取返回实例HttpResponse
4、使用EntityUtils对返回值的实体进行处理(可以取得返回的字符串,也可以取得返回的byte数组)
代码也比较简单,注释也加上了,就直接贴出来了

package com.justsy.url;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
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.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import android.app.Activity;
import android.os.Bundle;
public class HttpURLActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    System.out.println("start url...");
    String url = "http://192.168.2.112:8080/JustsyApp/Applet";
    // 第一步,创建HttpPost对象
    HttpPost httpPost = new HttpPost(url);
    // 设置HTTP POST请求参数必须用NameValuePair对象
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("action", "downloadAndroidApp"));
    params.add(new BasicNameValuePair("packageId", "89dcb664-50a7-4bf2-aeed-49c08af6a58a"));
    params.add(new BasicNameValuePair("uuid", "test_ok1"));
    HttpResponse httpResponse = null;
    try {
      // 设置httpPost请求参数
      httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
      httpResponse = new DefaultHttpClient().execute(httpPost);
      //System.out.println(httpResponse.getStatusLine().getStatusCode());
      if (httpResponse.getStatusLine().getStatusCode() == 200) {
        // 第三步,使用getEntity方法活得返回结果
        String result = EntityUtils.toString(httpResponse.getEntity());
        System.out.println("result:" + result);
        T.displayToast(HttpURLActivity.this, "result:" + result);
      }
    } catch (ClientProtocolException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    System.out.println("end url...");
    setContentView(R.layout.main);
  }
}
ADD:使用HttpURLConnection 进行post请求:
String path = "http://192.168.2.115:8080/android-web-server/httpConnectServlet.do?PackageID=89dcb664-50a7-4bf2-aeed-49c08af6a58a";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);

System.out.println(conn.getResponseCode());

//注意:android 4.0以后,访问网络请求要开启新的线程里执行,否则执行没有效果

Android中使用Post带参数请求的方法相关推荐

  1. python get方法列表参数_python中requests库get方法带参数请求

    起因是想爬五等分的花嫁的漫画.这是其中的一个坑 先上代码 data={ 'cid':567464, 'page':, 'key':'', 'language':1, 'gtk':6, '_cid':5 ...

  2. python get方法请求参数_python中requests库get方法带参数请求

    起因是想爬五等分的花嫁的漫画.这是其中的一个坑 先上代码 data={'cid':567464,'page':1,'key':'','language':1,'gtk':6,'_cid':567464 ...

  3. 章节六:带参数请求数据

    章节六:带参数请求数据 目录 章节六:带参数请求数据 1. 复习 2. 项目:狂热粉丝 3. 分析过程 3.1 什么是带参数请求数据 3.2 如何带参数请求数据 4. 代码实现 5. 被隐藏的歌曲清单 ...

  4. 【Python自查手册】之带参数请求params的用法

    params, 可以让我们带着参数来请求数据:我想要第几页?我想要搜索的关键词?我想要多少个数据? headers, 请求头.它告诉服务器,我的设备/浏览器是什么?我从哪个页面而来? 带参数请求,实现 ...

  5. android系统旁边有一个锁,Android中系统自带锁WalkLock与KeyguardLock用法实例详解

    本文实例讲述了Android中系统自带锁WalkLock与KeyguardLock用法.分享给大家供大家参考,具体如下: WalkLock - 顾名思义 唤醒锁 点亮屏幕用的 KeyguardLock ...

  6. Python—爬虫之Network,XHR,json 带参数请求数据(爬取歌单、歌词)

    Python-爬虫之Network,XHR,json & 带参数请求数据(爬取歌单.歌词) Network是什么,能做什么 XHR要如何请求 json格式的转换 带参数请求数据 修改请求头,便 ...

  7. Android中使用自带TextToSpeech实现语音合成时Pico TTS引擎不能播放中文怎样解决

    场景 Android中使用自带TextToSpeech实现离线语音合成功能: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109 ...

  8. Network下方什么请求也没有_利用postman进行接口测试并发送带cookie请求的方法

    顾翔老师的<软件测试技术实战设计.工具及管理>网上购买地址: https://item.jd.com/34295655089.html <基于Django的电子商务网站>网上购 ...

  9. mysql limit 动态参数_MySQL中limit使用动态参数的解决方法(拼接SQL字符串语句来执行SQL)...

    官方好像说过limit已经在5.6版本上支持了动态参数,但是测试时依然还是不行. 那么要解决limit动态参数唯一能做的就是使用字符串SQL拼接的形式,然后再进行执行. 一般有以下方式解决: 1.存储 ...

最新文章

  1. [置顶] 【C#】 Socket通讯客户端程序
  2. mysql 主从 怎么 升级_MySQL详解主从(主库升级).doc
  3. (0082)iOS开发之搭建iOS自动化打包平台(利用Jenkins持续集成iOS项目)
  4. 结棍!Spring 支持 PHP 了!?
  5. 【正一专栏】最好的回击是打得你好无脾气
  6. sql serve 数据库游标的使用
  7. android datepicker使用方法,android中DatePicker和TimePicker的使用方法详解
  8. C++STL与泛型编程(3)容器之分类与测试
  9. 安卓 开源 挣钱_在开源中赚钱并享受乐趣
  10. 八种常用的排序算法(转)
  11. hightopo六面体贴图
  12. 快速提升网站排名的七种方法
  13. yolo数据集标注软件安装+使用流程
  14. 网络类型NAT3改NAT1 基于(联通)光猫桥接、路由器红米AX5、win10系统
  15. PowerManger
  16. CentOS6 64位系统安装步骤
  17. matlab计算程序运行时间
  18. (转载)Everynes NES Hardware Specifications
  19. 洛谷 P2832 行路难
  20. Windows如何打开heic文件,一招就可以学会

热门文章

  1. 三角形外接球万能公式_三棱锥外接球万能公式 什么是旁心
  2. arduino tft 方向_arduino 控制TFT液晶显示屏,在屏幕上画了四个按键,如何检测是否被按下和释放呢?...
  3. Vue3使用富文本框(wangeditor)
  4. 微信小程序滴滴服务器报错,如何使用mpx框架(滴滴)给微信小程序分包
  5. 【项目记录】Linux日志审计系统
  6. 用Python输出三角形图案
  7. 【WPS表格】数据透视表:修改行列字段顺序
  8. IPv6, DAD 工作原理详解
  9. 双重差分模型能做固定效应吗_Stata:双重差分的固定效应模型 (DID)
  10. nginx 服务器重启命令 关闭